Multi-link block acknowledgement management

ABSTRACT

Methods, systems, and devices for multi-link wireless communication are described. A block acknowledgment (BA) agreement (e.g., a multi-link BA session) may be established based on exchanged multi-link capability information (e.g., a BA window size, BA scoreboarding information, one or more wireless link identifiers, etc.). In some cases, a BA agreement may be established across some or all of the multiple links. In other cases, a BA agreement may be established on a per-link basis. The BA agreement may further establish one or more sets of sequence numbers, as well as scoreboarding techniques used by the transmitting wireless device for the BA session. The wireless device may then transmit packets to another wireless device using multiple links, and receive a BA with acknowledgement information accounting for the transmitted packets according to the established BA agreement. BAs may be transmitted on one link or on multiple links by the receiving device.

CROSS REFERENCES

The present Application for patent claims priority to U.S. ProvisionalPatent Application No. 62/448,326 to Zhou et. al., titled “WI-FIMULTICHANNEL AGGREGATION”, filed Jan. 19, 2017, assigned to the assigneehereof, which is hereby incorporated by reference in its entirety.

BACKGROUND

The following relates generally to wireless communication, and morespecifically to multi-link block acknowledgement (BA) management.

Wireless communications systems are widely deployed to provide varioustypes of communication content such as voice, video, packet data,messaging, broadcast, and so on. These systems may be multiple-accesssystems capable of supporting communication with multiple users bysharing the available system resources (e.g., time, frequency, andpower). A wireless network, for example a wireless local area network(WLAN), such as a Wi-Fi (i.e., Institute of Electrical and ElectronicsEngineers (IEEE) 802.11) network may include an access point (AP) thatmay communicate with one or more stations (STAs) or mobile devices. TheAP may be coupled to a network, such as the Internet, and may enable amobile device to communicate via the network (or communicate with otherdevices coupled to the access point). A wireless device may communicatewith a network device bi-directionally. For example, in a WLAN, a STAmay communicate with an associated AP via downlink and uplink. Thedownlink (or forward link) may refer to the communication link from theAP to the station, and the uplink (or reverse link) may refer to thecommunication link from the station to the AP.

Devices in a WLAN may communicate over unlicensed spectrum, which may bea portion of spectrum that includes frequency bands traditionally usedby Wi-Fi technology, such as the 5 GHz band, the 2.4 GHz band, the 60GHz band, the 3.6 GHz band, and/or the 900 MHz band. The unlicensedspectrum may also include other frequency bands. The wireless connectionbetween an AP and STA may be referred to as a channel or link. Users mayaccess these radio frequency spectrum bands using variouscontention-based protocols (e.g., as specified by one or more versionsof IEEE 802.11). Each band (e.g., the 5 GHz band) may contain multiplechannels (e.g., each spanning 20 MHz in frequency), each of which may beusable by an AP or STA. A channel may support multiple connections(e.g., between multiple STAs and the AP) in a multiple accessconfiguration (e.g., code division multiple access (CDMA)). Somewireless communications systems may thus support multi-link aggregation,where transmissions may be transmitted and/or received over two or morelinks between two wireless devices (e.g., an AP and a STA). Differentlink quality or transmission performance across different links mayresult in transmission latency (e.g., due to delays in acknowledgementprocedures) and reduced system performance. Improved techniques formulti-link block acknowledgement (BA) management in wirelesscommunications systems supporting multi-link operation may thus bedesired.

SUMMARY

The described techniques relate to improved methods, systems, devices,or apparatuses that support techniques for multichannel blockacknowledgements (BAs). For example, a wireless device may establish aBA agreement for the multiple links supported by the wireless device formulti-link aggregation (e.g., a multi-link BA session). A BA agreementmay be established based on exchanged multi-link capability information(e.g., a BA window size, one or more wireless link identifiers, etc.).In some cases, a BA agreement may be established across some or all ofthe multiple links. In other cases, a BA agreement may be established ona per-link basis. For example, a BA agreement may establish atransmitter address (TA), receiver address (RA), and/or trafficidentifier (TID) for one or more indicated links. The wireless devicemay then transmit packets to another wireless device using multiplelinks, and receive a BA with acknowledgement information accounting forthe transmitted packets according to the established BA agreement. TheBA agreement may use one, or multiple, of the links to transmit BAs inresponse to the transmitted packets.

In cases where the BA agreement is established across multiple links, atransmitting device (e.g., a device transmitting packets or data unitsand receiving subsequent BAs) may assign each of the data units one of asingle set of sequence numbers (SNs) (e.g., a global set of SNs), andthe data units may be sent over any of the wireless links. The receivingdevice (e.g., a device receiving data units and transmitting BAs inresponse) may receive data units (e.g., associated with a single set ofSNs) over any of the multiple links, and transmit a BA in response. Insuch cases, the established BA agreement may include a longer BA windowsize (e.g., a multi-link BA window), to accommodate the increased numberof packets sent per round-trip-time (e.g., due to multi-link aggregationtechniques). A multi-link BA window may, for example, be increased toaccommodate the larger single set of SNs necessary for all data unitstransmitted across the multiple links (e.g., increased from 256 bits to1024 bits). Therefore, a single scoreboard may be maintained andupdated.

In other cases, the BA agreement is established on a per-link basis anda transmitting device may assign SNs to data units on a per-link basis.That is, The BA agreement may call for both a global set of SNs (e.g.,associated with all the links used for multi-link aggregation), as wellas a local set of SNs (e.g., associated with each link used formulti-link aggregation). In such cases, data units (e.g., media accesscontrol (MAC) protocol data units (MPDUs)) may indicate or carry both aper-link SN as well as a global SN (e.g., in an enhanced MAC header).Data units may then be acknowledged or accounted for on a per-linkbasis, and mapped to a global scoreboard at the transmitting device.That is, the transmitter may maintain a local scoreboard for eachwireless link associated with its own BA agreement, and the localscoreboard may be mapped to a global scoreboard.

In either case above, a BA window size may be increased to accommodatethe increased number of packets communicable in a given period of timedue to multi-link operation (e.g., and thus the increased number of SNsneeded for BAs). In some cases, the BA window (e.g., the multi-link BAwindow) may be divided into segments or smaller BA agreements (e.g.,covering different portions or ranges of the SNs) for different links.In some examples, a new BA format (e.g., a multi-link BA format) may bedefined to indicate a longer bitmap associated with the increased numberof SNs (e.g., in cases where a BA agreement is established acrossmultiple links and a single or global set of SNs are used).Alternatively, existing BA formats may be repurposed to implementmulti-link BA techniques described herein. For example, a multi-user BA(M-BA) may be repurposed to act as a BA for multiple links for a singleuser rather than for multiple users. In other examples, singleuser/single-TID BA formats may be combined or aggregated (e.g., on asingle link) to span the increased BA window size.

A method of wireless communication is described. The method may includeestablishing a block acknowledgement agreement for a plurality ofwireless links used for communications in parallel between the firstwireless device and a second wireless device, formatting data to betransmitted to the second wireless device into a plurality of dataunits, assigning, to each of the plurality of data units, a respectiveone of a set of sequence numbers common to the plurality of wirelesslinks, transmitting the plurality of data units to the second wirelessdevice over one or more of the plurality of wireless links, andreceiving a plurality of block acknowledgements, each of the pluralityof block acknowledgements indicating one or more of the set of commonsequence numbers.

An apparatus for wireless communication is described. The apparatus mayinclude means for establishing a block acknowledgement agreement for aplurality of wireless links used for communications in parallel betweenthe first wireless device and a second wireless device, means forformatting data to be transmitted to the second wireless device into aplurality of data units, means for assigning, to each of the pluralityof data units, a respective one of a set of sequence numbers common tothe plurality of wireless links, means for transmitting the plurality ofdata units to the second wireless device over one or more of theplurality of wireless links, and means for receiving a plurality ofblock acknowledgements, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers.

Another apparatus for wireless communication is described. The apparatusmay include a processor, memory in electronic communication with theprocessor, and instructions stored in the memory. The instructions maybe operable to cause the processor to establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the first wireless device and a second wireless device,format data to be transmitted to the second wireless device into aplurality of data units, assign, to each of the plurality of data units,a respective one of a set of sequence numbers common to the plurality ofwireless links, transmit the plurality of data units to the secondwireless device over one or more of the plurality of wireless links, andreceive a plurality of block acknowledgements, each of the plurality ofblock acknowledgements indicating one or more of the set of commonsequence numbers.

A non-transitory computer-readable medium for wireless communication isdescribed. The non-transitory computer-readable medium may includeinstructions operable to cause a processor to establish a blockacknowledgement agreement for a plurality of wireless links used forcommunications in parallel between the first wireless device and asecond wireless device, format data to be transmitted to the secondwireless device into a plurality of data units, assign, to each of theplurality of data units, a respective one of a set of sequence numberscommon to the plurality of wireless links, transmit the plurality ofdata units to the second wireless device over one or more of theplurality of wireless links, and receive a plurality of blockacknowledgements, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, transmitting the plurality ofdata units to the second wireless device over one or more of theplurality of wireless data links further comprises: transmitting a firstset of data units of the plurality of data units to the second wirelessdevice over a first wireless link of the plurality of wireless links.Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for transmitting a second set of dataunits of the plurality of data units to the second wireless device overa second wireless link of the plurality of wireless links.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, receiving the plurality ofblock acknowledgements further comprises: receiving a first set of theplurality of block acknowledgement over the first wireless link, whereinthe first set of the plurality of block acknowledgements may be for thefirst set of the plurality of data units. Some examples of the method,apparatus, and non-transitory computer-readable medium described abovemay further include processes, features, means, or instructions forreceiving a second set of the plurality of block acknowledgement overthe second wireless link, wherein the second set of the plurality ofblock acknowledgements may be for the second set of the plurality ofdata units.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for receiving the plurality blockacknowledgements over the first wireless link, the plurality of blockacknowledgements for both the first set of the plurality of data unitsand the second set of the plurality of data units.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the received plurality ofblock acknowledgements further indicate one or more sequence numbers ofthe second set of sequence numbers for the first set of data units, orone or more sequence numbers of the third set of sequence numbers forthe second set of data units, or a combination thereof.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for updating, based at least in part onone or more of the plurality of received block acknowledgments, ascoreboard to track data units acknowledged or not acknowledged by thesecond wireless device for the plurality of wireless links.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for updating, based at least in part onthe received plurality of block acknowledgments, a first scoreboard totrack data units acknowledged or not acknowledged by the second wirelessdevice for a first wireless link of the plurality of wireless links, anda second scoreboard to track data units acknowledged or not acknowledgedby the second wireless device for a second wireless link of theplurality of wireless links.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for assigning a respective sequencenumber of a second set of sequence numbers to each of a first set ofdata units of the plurality of data units to be transmitted over a firstwireless link of the plurality of wireless links. Some examples of themethod, apparatus, and non-transitory computer-readable medium describedabove may further include processes, features, means, or instructionsfor assigning a respective sequence number of a third set of sequencenumbers to each of a second set of data units of the plurality of dataunits to be transmitted over a second wireless link of the plurality ofwireless links.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for decompressing a blockacknowledgement bitmap of the received plurality of blockacknowledgements to identify the one or more of the set of commonsequence numbers.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, a block acknowledgement of theplurality of block acknowledgements comprises a multi-TID blockacknowledgement to acknowledge or not acknowledge a single TID or asingle station.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, receiving the plurality ofblock acknowledgements comprises: receiving, in the multi-TID blockacknowledgement, a first portion associated with a first startingsequence number and a second portion associated with a second startingsequence number, wherein the first portion and the second portion may befor the single TID or the single station.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for receiving plurality of blockacknowledgements in aggregate span a block acknowledgement window.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for exchanging block acknowledgementcapability information with the second wireless device, wherein theblock acknowledgement agreement may be established based at least inpart on the exchanged block acknowledgement capability information.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the block acknowledgementcapability information comprises a block acknowledgement window size, ora wireless link identifier, or a combination thereof.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for determining a first blockacknowledgement window size for the plurality of wireless links based atleast in part on the exchanged block acknowledgement capabilityinformation. Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for establishing a second blockacknowledgement window size for a first wireless link of the pluralityof wireless links, the second block acknowledgement window size lessthan the first block acknowledgement window size.

A method of wireless communication is described. The method may includeestablishing a block acknowledgement agreement for a plurality ofwireless links used for communications in parallel between the firstwireless device and a second wireless device, receiving a plurality ofdata units from the second wireless device over one or more of theplurality of wireless links, each data unit of the plurality of dataunits associated with one of a set of sequence numbers common to theplurality of wireless links, and transmitting a plurality of blockacknowledgements in response to the plurality of data units, each of theplurality of block acknowledgements indicating one or more of the set ofcommon sequence numbers.

An apparatus for wireless communication is described. The apparatus mayinclude means for establishing a block acknowledgement agreement for aplurality of wireless links used for communications in parallel betweenthe first wireless device and a second wireless device, means forreceiving a plurality of data units from the second wireless device overone or more of the plurality of wireless links, each data unit of theplurality of data units associated with one of a set of sequence numberscommon to the plurality of wireless links, and means for transmitting aplurality of block acknowledgements in response to the plurality of dataunits, each of the plurality of block acknowledgements indicating one ormore of the set of common sequence numbers.

Another apparatus for wireless communication is described. The apparatusmay include a processor, memory in electronic communication with theprocessor, and instructions stored in the memory. The instructions maybe operable to cause the processor to establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the first wireless device and a second wireless device,receive a plurality of data units from the second wireless device overone or more of the plurality of wireless links, each data unit of theplurality of data units associated with one of a set of sequence numberscommon to the plurality of wireless links, and transmit a plurality ofblock acknowledgements in response to the plurality of data units, eachof the plurality of block acknowledgements indicating one or more of theset of common sequence numbers.

A non-transitory computer-readable medium for wireless communication isdescribed. The non-transitory computer-readable medium may includeinstructions operable to cause a processor to establish a blockacknowledgement agreement for a plurality of wireless links used forcommunications in parallel between the first wireless device and asecond wireless device, receive a plurality of data units from thesecond wireless device over one or more of the plurality of wirelesslinks, each data unit of the plurality of data units associated with oneof a set of sequence numbers common to the plurality of wireless links,and transmit a plurality of block acknowledgements in response to theplurality of data units, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, receiving the plurality ofdata units from the second wireless device over the one or more of theplurality of wireless links further comprises: receiving a first set ofa plurality of data units from the wireless device over a first wirelesslink of the plurality of wireless links, each data unit of the first setassociated with one of the set of common sequence numbers. Some examplesof the method, apparatus, and non-transitory computer-readable mediumdescribed above may further include processes, features, means, orinstructions for receiving a second set of the plurality of data unitsfrom the wireless device over a second wireless link of the plurality ofwireless links, each data unit of the second set associated with one ofthe set of common sequence numbers.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, each of the plurality of blockacknowledgements further indicate: one or more of a first set ofsequence numbers for the received first set of data units; or one ormore of a second set of sequence numbers for the received second set ofdata units.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, transmitting the plurality ofblock acknowledgements further comprises: transmitting a multi-TID blockacknowledgement to acknowledge or not acknowledge a single TID or asingle station, the multi-TID block acknowledgement comprising a firstportion associated with a first starting sequence number and a secondportion associated with a second starting sequence number, wherein thefirst portion and the second portion may be for the single TID or thesingle station.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a system for wireless communicationthat supports multi-link block acknowledgement (BA) management inaccordance with aspects of the present disclosure.

FIG. 2 illustrates an example of a wireless communications system thatsupports multi-link BA management in accordance with aspects of thepresent disclosure.

FIGS. 3 through 5 illustrate examples of layer configurations thatsupport multi-link BA management in accordance with aspects of thepresent disclosure.

FIGS. 6A and 6B illustrate an example of global-local scoreboard mappingfor multi-link BAs in accordance with aspects of the present disclosure.

FIGS. 7 and 8 illustrate examples of process flows that supportmulti-link BA management in accordance with aspects of the presentdisclosure.

FIGS. 9 through 11 show block diagrams of a device that supportsmulti-link BA management in accordance with aspects of the presentdisclosure.

FIG. 12 illustrates a block diagram of a system including a wirelessdevice that supports multi-link BA management in accordance with aspectsof the present disclosure.

FIGS. 13 through 17 illustrate methods for multi-link BA management inaccordance with aspects of the present disclosure.

DETAILED DESCRIPTION

Some wireless communications systems may support multiple parallel linksbetween communicating devices, for example, to increase throughput, toimprove link efficiency, to reduce latency, etc. A wireless link mayrefer to a communication path between devices, and each link may supportone or more channels (e.g., logical entities) that support multiplexingof data, such that during at least some duration of time, transmissionsor portions of transmissions may occur in parallel, for example overboth links at the same time, either synchronously, or asynchronously.The wireless links may be in the same or different radio frequency (RF)spectrum bands. Each link of a multi-link session may be associated withrespective physical components (e.g., antennas, amplifiers, includingpower amplifiers and low noise amplifiers, etc.) and/or logicalprocessing components (e.g., physical (PHY) layers, media access control(MAC) layers, etc.) of a given wireless device, and these components maybe configured to support multi-link communications. The multiple linksmay connect wireless devices at the MAC layer (e.g., each link mayconnect respective lower MAC components of communicating devices). TheMAC layer may aggregate data packets from the multiple wireless links toprovide to upper layers (if the wireless device is receiving) or receivefrom upper layers (if the wireless devices is transmitting) of thedevice (e.g., using multiple connections from the MAC layer to the PHYlayer). Such parallel communications, while benefiting the system interms of throughput and spectral utilization, may increase thecomplexity of the system.

Multi-link aggregation may also have implementation challenges. Forexample, packets may be transmitted and/or received across differentlinks out of order, a given link may suffer degraded communicationconditions relative to another of the aggregated links (e.g.,frequency-dependent fading, etc.) for some duration of time, a givenlink or a channel of the link may experience a high traffic volume forsome duration of time, etc. which may, for example, result ininefficient block acknowledgement (BA) procedures. Further, increasedchannel and bandwidth usage, as well as increased peak throughput in agiven time period, may result in the need to increase BA windows (e.g.,allowed windows or spans of unacknowledged MAC packet data unit (MPDU)sequence numbers (SNs)). In scenarios where multi-link aggregationsystems use independent BA procedures for each link, problems may ariseat higher layers during aggregation (e.g., when there is a weak or slowlink, which may stall a BA window and delay operation of or throttle asecond link). Further, sequence numbering and scoreboarding techniques(e.g., techniques for a transmitting device to account for which dataunits are correctly received as indicated via BAs from a receivingdevice) may need to be modified to account for an increased number ofdata units being transmitted over the multiple links. As such, wirelesscommunications systems supporting multi-link aggregation may employmulti-link BA management techniques described herein.

Wireless communications systems capable of multi-link aggregation mayrequire or benefit from improved multi-link BA management techniques.The described techniques relate to improved methods, systems, devices,or apparatuses that support techniques for multichannel or multi-linkBAs. For example, a wireless device may establish a BA agreement (e.g.,a multi-link BA session) for the multiple links supported by thewireless device for multi-link aggregation. A BA agreement may beestablished based on exchanged multi-link capability information (e.g.,a BA window size, one or more wireless link identifiers, etc.). In somecases, a BA agreement may be established across some or all of themultiple links. In other cases, a BA agreement may be established on aper-link basis.

In some cases (e.g., for single link operation) each link may beassociated with a unique transmitter address (TA), or a unique receiver(RA), or a unique (TID), or a combination of unique TA, RA, and/or TID.For example, for acknowledgment procedures in such cases, a TA, RA, andTID tuple (e.g., <TA, RA, TID>) may correspond to a BA agreement on thatparticular link. That is, a BA agreement may be set up or established ona per TID basis. For example, an add BA (ADDBA) frame may be per <RA,TA> and per TID (e.g., per access category). However, in some wirelesscommunications systems supporting multi-link operation, each TID may beaggregated across multiple links. Therefore, if each aggregated TID isassociated with a common BA agreement across multiple links, predefinedmapping between <TA, RA, TID> and the BA agreement may be violated(e.g., in cases where each link keeps a unique <TA, RA>). Thus, a BAagreement may establish a TA, RA, and/or TID for one or more indicatedlinks. The wireless device may then transmit packets to another wirelessdevice using multiple links, and receive a BA with acknowledgementinformation accounting for the transmitted packets according to theestablished BA agreement. The BA agreement may use one, or multiple, ofthe links to transmit BAs in response to the transmitted packets.Further, sequence numbering and scoreboarding techniques may be modifiedaccording to the one or more established BA agreements to account forsuch data units being transmitted over the multiple links, as describedin more detail below.

Aspects of the disclosure are initially described in the context of awireless communications system. Aspects of the disclosure are thendescribed with reference to example layer configurations as well asexample process flow diagrams implementing discussed BA techniques.Aspects of the disclosure are further illustrated by and described withreference to apparatus diagrams, system diagrams, and flowcharts thatrelate to multi-link BA management

FIG. 1 illustrates a WLAN 100 (also known as a Wi-Fi network) configuredin accordance with various aspects of the present disclosure. The WLAN100 may include an AP 105 and multiple associated STAs 115, which mayrepresent devices such as wireless communication terminals, includingmobile stations, phones, personal digital assistant (PDAs), otherhandheld devices, netbooks, notebook computers, tablet computers,laptops, display devices (e.g., TVs, computer monitors, etc.), printers,etc. The AP 105 and the associated STAs 115 may represent a basicservice set (BSS) or an extended service set (ESS). The various STAs 115in the network are able to communicate with one another through the AP105. Also shown is a coverage area 110 of the AP 105, which mayrepresent a basic service area (BSA) of the WLAN 100. An extendednetwork station associated with the WLAN 100 may be connected to a wiredor wireless distribution system that may allow multiple APs 105 to beconnected in an ESS.

A STA 115 may be located in the intersection of more than one coveragearea 110 and may associate with more than one AP 105. A single AP 105and an associated set of STAs 115 may be referred to as a BSS. An ESS isa set of connected BSSs. A distribution system may be used to connectAPs 105 in an ESS. In some cases, the coverage area 110 of an AP 105 maybe divided into sectors. The WLAN 100 may include APs 105 of differenttypes (e.g., metropolitan area, home network, etc.), with varying andoverlapping coverage areas 110. Two STAs 115 may also communicatedirectly via a direct wireless link 125 regardless of whether both STAs115 are in the same coverage area 110. Examples of direct wireless links125 may include Wi-Fi Direct connections, Wi-Fi Tunneled Direct LinkSetup (TDLS) links, and other group connections. STAs 115 and APs 105may communicate according to the WLAN radio and baseband protocol forphysical and MAC layers from IEEE 802.11 and versions including, but notlimited to, 802.11b, 802.11g, 802.11a, 802.11n, 802.11ac, 802.11ad,802.11ah, 802.11ax, 802.11ay, 802.11ba, etc. In other implementations,peer-to-peer connections or ad hoc networks may be implemented withinWLAN 100. Devices in WLAN 100 may communicate over unlicensed spectrum,which may be a portion of spectrum that includes frequency bandstraditionally used by Wi-Fi technology, such as the 5 GHz band, the 2.4GHz band, the 60 GHz band, the 3.6 GHz band, and/or the 900 MHz band.The unlicensed spectrum may also include other frequency bands.

In some cases, a STA 115 (or an AP 105) may be detectable by a centralAP 105, but not by other STAs 115 in the coverage area 110 of thecentral AP 105. For example, one STA 115 may be at one end of thecoverage area 110 of the central AP 105 while another STA 115 may be atthe other end. Thus, both STAs 115 may communicate with the AP 105, butmay not receive the transmissions of the other. This may result incolliding transmissions for the two STAs 115 in a contention basedenvironment (e.g., carrier-sense multiple access (CSMA)/collisionavoidance (CA)) because the STAs 115 may not refrain from transmittingon top of each other. A STA 115 whose transmissions are notidentifiable, but that is within the same coverage area 110 may be knownas a hidden node. CSMA/CA may be supplemented by the exchange of arequest-to-send (RTS) packet transmitted by a sending STA 115 (or AP105) and a clear-to-send (CTS) packet transmitted by the receiving STA115 (or AP 105). This exchange may alert other devices within range ofthe sender and receiver not to transmit for the duration of the primarytransmission. Thus, RTS/CTS handshake may help mitigate a hidden nodeproblem.

In a system supporting multi-link aggregation (which may also bereferred to as multi-channel aggregation), some of the trafficassociated with a single STA 115 may be transmitted across multipleparallel communication links 120 (which may also be referred to as“links” or “wireless links” herein). Multi-link aggregation may thusprovide a means to increase network capacity and maximize theutilization of available resources. In some cases, each communicationlink 120 for a given wireless device may be associated with a respectiveradio of the wireless device (e.g., where a radio comprisestransmit/receive chains, physical antennas, signal processingcomponents, etc.). Multi-link aggregation may be implemented in a numberof ways. As a first example, the multi-link aggregation may bepacket-based. In packet-based aggregation, frames of a single trafficflow (e.g., all traffic associated with a given TID) may be sent inparallel across multiple communication links 120 (e.g., on multiplechannels). In some cases, the multiple communication links 120 mayoperate in the same RF spectrum band (e.g., each link may be in the 5GHz band, and use channels in the 5 GHz band). In other cases, themultiple communication links 120 may be in different RF spectrum bands(e.g., one may be in the 2.4 GHz band while another is in the 5 GHzband). Each link may be associated with a different PHY layer and lowerMAC layer as described with reference to FIG. 4. In such animplementation, management of the aggregation of the separatecommunication links 120 may be performed at a higher MAC layer. Themultilink aggregation implemented at the lower MAC layers and PHY layersmay be transparent to the upper layers of the wireless device.

As another example, the multi-link aggregation may be flow-based. Inflow-based aggregation, each traffic flow (e.g., all traffic associatedwith a given TID) may be sent using one of multiple availablecommunication links 120. As an example, a single STA 115 may access aweb browser while streaming a video in parallel. The traffic associatedwith the web browser access may be communicated over a first channel ofa first communication link 120 while the traffic associated with thevideo stream may be communicated over a second channel of a secondcommunication link 120 in parallel (e.g., at least some of the data maybe transmitted on the first channel concurrent with data transmitted onthe second channel). In some examples, the transmissions on the firstcommunication link 120 and the second communication link 120 may besynchronized. In other examples, the transmissions may be asynchronous.As described above, the channels may belong to the same RF band or todifferent RF bands. In the case of three communication links 120 (e.g.,or other numbers of communication links greater than two), all threecommunication links 120 may support operation over the same RF band(e.g., all three in the 5 GHz RF band). In other cases, twocommunication links 120, but not the third, may support operation overthe same RF band (e.g., two links in the 5 GHz RF band, and one link inthe 2.4 GHz RF band). Or, in still other cases each of the threecommunication links 120 may support operation for a separate RF band. Insome cases, flow-based aggregation may not use cross-link packetscheduling and reordering (e.g., which may be used to supportpacket-based aggregation). Alternatively, in the case of a single flow(e.g., in the case that the STA 115 simply attempts to access a webbrowser), aggregation gain may not be available.

In some cases, an AP 105 may designate a given channel or link amongcommunication links 120 as an anchor link (e.g., the wireless link onwhich it transmits beacons, management frames, control information,association information, etc., to support the discovery, establishment,and/or maintenance of wireless links used for multi-link aggregation,such as during a multi-link session between wireless devices). Althoughdescribed as being frequency-based, the anchor link could additionallyor alternatively be time based, and refer to a point in time. Forexample, the AP 105 may designate a time period for transmission ofcontrol information over one or more links and may employ varioustechniques to provide improved reliability to the control information inthe time interval (e.g., may use a more robust modulation and codingscheme (MCS), may increase a transmission power, etc.). Outside of thetime interval, the AP 105 may employ techniques that prioritize datathroughput over the one or more links.

In some examples, one or more of the links (e.g., an anchor link) mayoperate in a lower RF frequency band than the other links used in themulti-link session. For example, a link may operate in a 2.4 GHz or 900MHz band to increase the range, power, or signal quality associated withtransmissions on another link, relative to other wireless links that mayoperate at a 5 GHz or 60 GHz band associated with higher datathroughputs, but relatively shorter ranges. For example, links in ahigher RF band (e.g., the 60 GHz band) may be susceptible to thedirectionality of the antennas at the communicating devices on bothsides of the links. The performance of such links may degrade if eitherdevice moves (even slightly). Responsive to such degradations, thedevices may perform beam training to realign the link between thedevices. During such beam training, the link may be unavailable. In somecases, the 60 GHz link may provide higher throughput (e.g., undercertain communication conditions) while the 2.4 GHz link provides astable link for discovery, link setup, exchange of control andmanagement information, exchange of data traffic (e.g., at a lower datarate than provided by the auxiliary link), etc. Similar techniques maybe employed for technologies other than RF communications such as lightcommunications, which may work over short distances and/or concentrateenergy in a small focused beam. Light communications (e.g., and othersimilar technologies) may benefit from auxiliary communications over asecondary link that rely on a reliable anchor link.

In other embodiments, a hybrid of flow-based and packet-basedaggregation may be employed. As an example, a device may employflow-based aggregation in situations in which multiple traffic flows arecreated and may employ packet-based aggregation in other situations. Thedecision to switch between multi-link aggregation techniques (e.g.,modes) may additionally or alternatively be based on other metrics(e.g., a time of day, traffic load within the network, available batterypower for a wireless device, etc.). It is to be understood that whileaspects of the preceding are described in the context of a multi-linksession involving two (or more) communication links 120, the describedconcepts may be extended to a multi-link session involving multipledirect wireless links 125.

To support the described multi-link aggregation techniques, APs 105 andSTAs 115 may exchange supported aggregation capability information (e.g.supported aggregation type, supported frequency bands, etc.). In somecases, the exchange of information may occur via a beacon signal, aprobe association request or a probe association response, dedicatedaction frames, an operating mode indicator (OMI), etc. In some cases, anAP 105 may designate a given channel in a given band as an anchor link,and transmit beacons (e.g., which may contain less information) on otherchannels or links for discovery purposes. The anchor link couldadditionally or alternatively be time based, and refer to a point intime (e.g., such that an AP 105 may transmit its beacon during a certaintime interval on one or more links).

In some examples, in multi-link aggregation, each link may use its owntransmit queue. In other examples, a common transmit queue may be usedacross the links. In some examples, each link may have a unique TA andRA. In other examples, the TA and RA may be common across the multiplelinks used for multi-link aggregation. In other examples, one or more ofa SN, frame number (FN), and/or packet number (PN) may be common acrossthe communication links. Other items that may be common (or different)across two or more of the links include encryption keys, MPDUgeneration, aggregated MAC service data unit (AMSDU) constraints,fragment size, reordering, replay check, and/or de-fragmentationtechniques. In other examples, encryption keys may be per-link.

In various examples, BAs may be sent in response to multi-linktransmissions. A BA may refer to an acknowledgment (ACK) for multipleMPDUs sent together (e.g., an ACK for a block of MPDUs). Thetransmitting device (e.g., the device requesting the BA) and thereceiving device (e.g., the device transmitting the BA) may establish aBA session (also known as a BA agreement) for during a setup phase,negotiating an agreement regarding the terms and capabilities for the BAsession (e.g., using an ADDBA request and response procedure). Thetransmitting device and receiving device may exchange capabilityinformation such as BA size, buffer size, window size (e.g., a slidingwindow), and/or policy, and then agree on the common parameters for eachof the receiving device and the transmitter device to use. The BAagreement may be later torn down (e.g., using a delete BA (DELBA)request).

Both the transmitting device and the receiving device may maintain asliding window (e.g., a BA window), and may have previously negotiatedthe size of the BA. For example, a BA agreement may have a BA size of 64MPDUs (e.g., other BA size examples may include 256 MPDUs, 1024 MPDUs,etc.). In such cases, a transmitting device may transmit 64 MPDUsfollowed by a block acknowledgement request (BAR). In response to theBAR, the receiving device may, upon reception of the 64 MPDUs and theBAR, transmit a BA to the transmitting device. The BA may indicatewhether all 64 MPDUs were received correctly, which MPDUs are missing,etc. In some cases, a BA may be used to indicate the longer BA window,or a capability exchange or agreement defining the larger BA window mayalso be sent. In other examples, a single SN may be used, but withmultiple scoreboards (e.g., one scoreboard per channel or link), or witha common, global scoreboard as well as per-link scoreboards. Multi-linkaggregation (e.g., flow-based and/or packet-based) may increase networkcapacity by efficiently allocating utilization of multiple links (andmultiple channels).

A block acknowledgment (BA) agreement or a multi-link BA session may beestablished based on exchanged multi-link capability information. Suchmulti-link capability information may include one or more of a BA windowsize, BA scoreboarding information, one or more wireless linkidentifiers, etc. In some cases, a BA agreement may be establishedacross some or all of the multiple links. In other cases, a BA agreementmay be established on a per-link basis. The BA agreement may furtherestablish one or more sets of sequence numbers, as well as scoreboardingtechniques used by the transmitting wireless device for the BA session.Sequence numbers may be assigned globally, such that a common set ofsequence numbers may be used for MPDUs for all the links. Sequencenumbers may also be per-link, with sequence numbers used for each link.A combination of common and per-link sequence numbers may also be used.The wireless device may then transmit packets to another wireless deviceusing the multiple links, and receive a BA with acknowledgementinformation accounting for the transmitted packets according to theestablished BA agreement. The BAs may indicate the sequence numbersassociated with one or more MPDUs. BAs may then be transmitted on onelink or on multiple links by the receiving device.

FIG. 2 illustrates an example of a WLAN 200 that supports multi-link BAmanagement in accordance with various aspects of the present disclosure.In some examples, WLAN 200 may implement aspects of WLAN 100. A wirelessconnection between AP 105-a and STA 115-a may be referred to as a link205 or a communication link, and each link 205 may include one or morechannels. As an example, WLAN 200 may support multi-link aggregationsuch that AP 105-a and STA 115-a may communicate in parallel over two ormore links (e.g., link 205-a and link 205-b). STA 115-a may thus receivepackets (e.g., MPDUs) over both link 205-a and link 205-b from AP 105-a.Such parallel communications 210-a and 210-b over the two or more linksmay be synchronized or asynchronous, and may be uplink, or downlink, ora combination of uplink and downlink during a particular duration oftime. As described above, the parallel communications 210-a and 210-bover the two or more links 205-a and 205-b may occur between two STAs115 (e.g., which may be referred to as sidelink communication) withoutdeviating from the scope of the present disclosure.

Such multi-link aggregation may provide multiple benefits to WLAN 200.For example, multi-link aggregation may improve user-perceivedthroughput (UPT) (e.g., by quickly flushing per-user transmit queues).Similarly, multi-link aggregation may improve throughput for WLAN 200 byimproving utilization of available channels (e.g., by increasingtrunking gains). That is, multi-link aggregation may increase spectralutilization and may increase the bandwidth-time product. Networks thatdo not support multi-link aggregation may experience under-utilizationof spectrum in non-uniform (e.g., bursty) traffic conditions. Forexample the communication load over a given link 205 (e.g., link 205-a)may be low at any particular instant, whereas the demand may be high foranother link 205 (e.g., link 205-b). By allowing a single traffic flow(e.g., a single internet protocol (IP) flow) to span across differentlinks 205, the overall network capacity may be increased.

Further, multi-link aggregation may enable smooth transitions betweenmulti-band radios (e.g., where each radio may be associated with a givenRF band) and/or enable a framework to setup separation of controlchannels and data channels. Other benefits of multi-link aggregationinclude reducing the ON time of a modem, which may benefit a wirelessdevice in terms of power consumption though the final power-saving gainsmay in some cases depend on other factors including processingrequirements, RF bandwidth, etc. Multi-link aggregation additionallyincreases multiplexing opportunities in the case of a single BSS. Thatis, multi-link aggregation may increase the number of users permultiplexed transmission served by the multi-link AP 105-a.

In some cases, multi-link aggregation may be supported (includinginitiated) through signaling between STA 115-a and AP 105-a (or a peerSTA 115). As an example, STA 115-a may indicate to AP 105-a (or the peerSTA 115) whether it supports multi-link aggregation. For example, STA115-a may indicate that it supports multi-link aggregation in general,for a particular RF spectrum band, for a link 205 of a given RF spectrumband, etc. Such signaling could be static (e.g., in the form of beacons,probes, association or re-association frames, etc.), semi-static, ordynamic (e.g., via OMI or other similar operational parameters). In somecases, AP 105-a (e.g., or the peer STA 115) may decide whether toaggregate communications with STA 115-a based at least in part on thecapabilities advertised by STA 115-a.

However, multi-link aggregation may also have implementation challenges.For example, packets may be transmitted and/or received across differentlinks out of order, a given link may suffer degraded communicationconditions relative to another of the aggregated links (e.g.,frequency-dependent fading, etc.) for some duration of time, a givenlink or a channel of the link may experience a high traffic volume forsome duration of time, etc. which may, for example, result ininefficient BA procedures. Further, increased channel and bandwidthusage, as well as increased peak throughput in a given time period, mayresult in the need to increase BA windows (e.g., allowed windows orspans of unacknowledged MPDU SNs). In scenarios where multi-linkaggregation systems use independent BA procedures for each link,problems may arise at higher layers during aggregation (e.g., when thereis a weak or slow link, which may stall a BA window and delay operationof or throttle a second link). As such, wireless communications systemssupporting multi-link aggregation may employ multi-link BA managementtechniques described herein.

Improved multi-link BA management techniques are discussed below. Forexample, BA agreements, BA formats, transmitting device scoreboarding,etc., may be modified to support improved BA sessions or BA proceduresin wireless communications systems capable of multi-link aggregation. Atransmitting device and receiving device may exchange capabilityinformation such as BA bitmap size, BA buffer size, BA scoreboardinginformation, BA window size (e.g., a sliding window), and/or policy, andthen agree on the common parameters for each of the receiving device andthe transmitter device to use. For example, a new BA format may bedefined to indicate a longer bitmap which may allow for a larger BAwindow (e.g., a new multi-link BA window for the multiple links) to bespanned. Further, a transmitting device may maintain a single SN set(e.g., a global SN set) across all links while maintaining a singleglobal scoreboard. Additionally or alternatively, a transmitting devicemay maintain a global SN set in addition to local SN sets for each link.In such cases, the transmitting device may maintain a local scoreboardfor each link. In yet other cases, the transmitting device may maintaina global scoreboard as well as local scoreboards.

In some example aggregation architectures, all TIDs (e.g., or flow IDsor frame types) may be aggregated over link 205-a and link 205-b (e.g.,which may be an example of packet-based aggregation). That is, parallelcommunications 210-a and 210-b may each have at least one packet havinga common TID. Packet-based aggregation may provide improvements in UPTand total throughput (e.g., even for the case of a single traffic flow).In some cases, links 205-a and 205-b may have independent PHY and lowerMAC operations (e.g., CSMA) while aggregation is performed at an upperMAC layer (e.g., as described further below, with reference to FIGS. 3through 5).

In cases where a single SN set is used across all links (e.g., a globalSN set), a single scoreboard may be maintained. That is, the SN set andscoreboard used by the transmitting device may be common across all thelinks or channels. In such cases, BA procedures may be performed acrossall links (e.g., not on an individual, per-link basis). In such cases, anew BA format may be defined to indicate a longer bitmap, which mayallow a new maximum BA window to be spanned. For example, in wirelesscommunications systems supporting three link aggregation, three times asmany packets may be communicated in a given round trip time. As such,the new BA format supporting the longer bit map may be used toacknowledge the additional packets, as BA window typical of single linksystems may be too short given the increased number of packets toaccount for. A BA frame format may also allow for compression methods(e.g., TIM compression mechanisms) that may be used to reduce the BAbitmap length actually sent over the air. The BA may be sent by areceiving device on any channel or, in some cases, on a designatedchannel (e.g., a control channel). Alternative to using a new BA format,multi user BAs (M-BAs) may be repurposed for multiple links or channelsassociated with one receiving device. Each per-TID or per-STA portion ofthe M-BA may be repurposed to acknowledge a same STA/TID, but with adifferent starting SN. The repurposed M-BA may be sent by the receivingdevice on any of the channels or, in some cases, only on a designatedchannel (e.g., a control channel). Further, single user (SU)/single-TIDBA formats may be repurposed for multi-link BA management techniques. Areceiving device may send multiple SU/single-TID BAs in order to spanthe extended multi-link BA window. The multiple SU/single-TID BAs may besent on a same channel (e.g., a designated channel) or may be sentindividually on any of the channels.

In some examples, a single BA agreement may be defined across all linksor bands. The BA agreement may indicate a longer BA window (e.g., amulti-link BA window). In such examples, any SN may be sent on anychannel and may acknowledged in any manner as discussed above. In otherexamples, a capability exchange/agreement may define the larger BAwindow (e.g., a multi-link BA window). Additionally, multiple existingBA agreements may be setup on shorter BA windows. For example, atransmitter and receiver may agree to use a 1024 bit BA window, but thensetup four 256 bit BA agreements, each of the BA agreements may be used(e.g., at the discretion of the transmitting device) to cover differentportions of the SN, subject to the overall BA window limitation. Themultiple agreements may be used to artificially enable the use ofmultiple BAs to expand the equivalent BA bitmap. An indicator (e.g., aTID-link indicator) may be used to distinguish between the multipleagreements. That is, multiple BA agreements may be reused or repurposedon the same SN to enable a larger overall BA window.

In some cases, a transmitting device may use a single SN set across allbands or links, however multiple scoreboards may be maintained (e.g.,one for each link). Each BA agreement, as well as each BA scoreboard,may be tied to a channel or link. Therefore, each interference may reuseexisting per-channel MAC and BA scoreboarding procedures with minimal orzero change. A limitation may be established that keeps the SN withinthe overall BA window. A BA agreement per-link may be instantiated, anda capability or agreement for the overall BA window may be in place.

Further, additional SN sets may be used (e.g., on a per-link basis) inaddition to a global SN set. In such cases, both a global scoreboard aswell as per-link scoreboards may be maintained by a transmitting device.MPDUs may thus carry both a per-link SN as well as a global SN (e.g.,which may both be carried in a multi-link or enhanced MAC header). Oneach link, BAs may be used to acknowledge MPDUs based on the per-linkSN. Scoreboarding may be maintained on a per-link basis (e.g., acting onthe per-link SN, instead of the global SN) and single link BA mechanismsmay be reused. A BA agreement per-link may be setup to define theallowed window of per-link SN, which may be of limited size. Amanagement layer common across all links may map the per-link scoreboardwith the global scoreboard based on a global SN set. Additionally, thereceiving device may use the global SN for reordering. In such cases,existing BA formats may be used for each individual link. Suchimplementation details discussed above are now described in more detailbelow with reference to FIGS. 3 through 8.

In some examples, some links 205 may be reserved for uplink only ordownlink only communication (e.g., link 205-a may be a downlinkdirectional link and link 205-b may be an uplink directional link). Insuch examples STA 115-a may receive downlink communications via linkssupporting downlink communications (e.g., including link 205-a), and maypass ACK information (e.g., received SNs) to other lower MAC entities(e.g., associated with link 205-b) which may accumulate and transmit theassociated BAs to the transmitting device (e.g., AP 105-a). Therefore,link 205-b may transmit BAs associated with the downlink data. In somecases, the receiving device may not manage a separate upper MAC entityfor BA management purposes. By analogy, AP 105-a may accumulate andmanage SNs via link 205-b.

Similar techniques may be employed for technologies other than RFcommunications, such as light communications, which may work over shortdistances and/or concentrate energy in a small focused beam and/or maysupport a wireless link that may communicate between wireless devices inonly one direction (e.g., only uplink, or only downlink, or only onedirection between peer devices). Light communications (e.g., visiblelight communication (VLC)) and other similar technologies may benefitfrom auxiliary communications over a secondary link that rely on areliable anchor link. For example, light communication (or similarcommunications) may be transmitted from an overhead light to a wirelessdevice (e.g., downlink communication using a light emitting diode (LED)lamp, etc., to a mobile device) but may not support uplink communicationfrom the wireless device to the overhead light (e.g. the LED lamp may beable to receive RF transmissions, but not VLC transmissions). Suchcommunications may benefit from an anchor link (e.g., a 2.4 GHz link or5 GHz link), which serves as the uplink (reverse link) to the downlinklight communications. For example, the anchor link may carryacknowledgements, including block acknowledgements, on the uplink inresponse to the data transmitted by the overhead light on the downlink.In other examples, the anchor link may carry scheduling information,etc., for the transmissions using light communication from the overheadlight.

As discussed above, unidirectional communications (e.g., VLCcommunications) where a reverse link may be absent or where a link inone direction may be unreliable or intermittent, another link (e.g., aWi-Fi link) may serve as the reverse link for response frames (e.g.,such as ACKs or block ACKs for the unidirectional communications). Insuch scenarios, a common queue (e.g., a common or global scoreboard) maybe used such that ACKs may be received on any suitable links, and ACKscoreboarding may not necessarily be performed on a per-link basis.

Further, some links in a wireless communications system supportingmulti-link aggregation may be stronger or more stable than others. Insome cases, such links may be identified via BA procedures contemplatedherein. In cases where weak links or more stable links are identified,stable links may be selected for BA transmission, discovery, link setup,exchange of control and management information, exchange of data traffic(e.g., at a lower data rate than provided by the auxiliary link), etc.,while the weaker or less stable link may be reserved for datatransmissions (e.g., high-throughput data transmissions).

FIG. 3 illustrates an example of a layer configuration 300 that supportsmulti-link BA management in accordance with various aspects of thepresent disclosure. In some examples, layer configuration 300 mayimplement aspects of WLAN 100 and/or WLAN 200. Layer configuration 300may apply to a STA 115 or an AP 105, and be for a transmitting wirelessdevice or a receiving wireless device. It is to be understood thataspects of layer configuration 300 may represent logical constructs(e.g., such that components of layer configuration 300 may sharehardware components). A wireless device may support layer configuration300 through the use of various hardware configurations described herein.

As illustrated, layer configuration 300 may include upper layers 305, aMAC layer 310, and one or more PHY layers 335 (e.g., where each PHYlayer 335 may in some cases be associated with a respective link orchannel). MAC layer 310 may be further divided into upper MAC layer 315and lower MAC layer 325-a, lower MAC layer 325-b, and lower MAC layer325-c. While three lower MAC layers 325 are illustrated, it is to beunderstood that upper MAC layer 315 may control (e.g., via multi-linkaggregation controller 320) any suitable number of lower MAC layers 325.Signaling between a given lower MAC (e.g., lower MAC layer 325-a) andupper MAC layer 315 may be carried by connection 345. Similarly,signaling between lower MAC layer 325-a and PHY layer 335-a may becarried by connection 350 and signaling between lower MAC layer 325-aand lower MAC layer 325-b may be carried by connection 340. As describedbelow, the signaling for lower MAC 325-a, lower MAC layer 325-b, andlower MAC layer 325-c may be based on logic associated with respectivecontroller 330-a, controller 330-b, and controller 330-c.

With reference to FIG. 2, lower MAC layer 325-a may be associated, forexample, with link 205-a (e.g., via PHY layer 335-a) and lower MAC layer325-b may be associated, for example, with link 205-b (e.g., via PHYlayer 335-b). That is, each link 205 may have an associated lower MAClayer 325 that performs link-specific features (e.g., channel access, ULtriggered transmission procedures, multiple-input, multiple-output(MIMO) signaling, etc.) For example, lower MAC layer 325-a and lower MAClayer 325-b may independently perform enhanced distributed channelaccess (EDCA) countdowns on respective links 205-a and 205-b.Additionally or alternatively, lower MAC layers 325 may perform RTS/CTSprocedures, perform clear channel assessment (CCA) procedures, apply amodulation and coding scheme (MCS), control a physical packet data unit(PPDU) duration, transmit sounding reference signals, etc.

Upper MAC layer 315 may provide a single-link interface to upper layers305. For example, upper MAC layer 315 may perform management andsecurity-related operations. Such a design may allow a single beaconfrom an AP 105 on a primary band to control multi-band STAs 115.Additionally or alternatively, the single upper MAC layer 315 may allowfor a single association procedure to initiate the multi-link session.For example, an association procedure may be performed using a singlelink, but provide for capability information for multiple links, whichmay include the link that is being used for the association procedure.In some cases, the upper MAC layer 315 may provide signaling (e.g., OMIsignaling) that allows for dynamic bandwidth control (e.g., expansion).The upper MAC layer 315 may additionally or alternatively provide asingle BA space (e.g., a single BA scoreboard and sequence space) suchthat MPDUs may be scheduled dynamically on a per-PPDU basis for eachlink (e.g., such that a given MPDU may be retransmitted on a differentlink from that on which it was originally transmitted).

FIG. 3 may illustrate single or global scoreboard management formulti-link BA procedures. For example, upper MAC layer 315 may handleprocessing and management of SNs identified in BAs received via one ormore lower MAC layers 325. That is, upper MAC layer 315 may update ascoreboard 355 to identify which MPDUs have been successfully receivedas well as identify which MPDUs have been unsuccessfully received.Scoreboard 355 may be associated with a global set of SNs. In somecases, the SN set associated with scoreboard 355 may be divided intodifferent portions or different ranges of the set of SNs, and eachportion or range of the set of SNs may be associated with the differentlinks used for transmission of the MPDUs. Thus each link may beassociated with a particular range of the global set of SNs, and BAsassociated with such ranges may be aggregated at scoreboard 355 suchthat the transmitting device may account for data units successfully orunsuccessfully transmitted to the receiving device. In other cases(e.g., for VLC or other unidirectional communications), a globalscoreboard may be used such that some links may be used forunidirectional communications, while other links may be used as thereverse link (e.g., for response frames) for such unidirectional links.For example, a global scoreboard 555-a may be used to account forunidirectional communications sent via Link 1, by managing ACKs receivedvia Link 2. In such an example, a global set of SNs may be used forunidirectional Link 1 communications, and ACKs corresponding to SNs usedfor such unidirectional communications may be received over other links(e.g., Link 2, etc.) and accounted for (e.g., by the multi-linkaggregation controller 320).

In some examples, the transmitting device may use information ofscoreboard 355 to identify links performing strongly (e.g., byidentifying per-link SN ranges of scoreboard 355 associated with severalsuccessful transmissions) and/or links performing weakly (e.g., byidentifying per-link SN ranges of scoreboard 355 associated with severalunsuccessful transmissions).

FIG. 4 illustrates an example of a layer configuration 400 that supportsmulti-link BA management in accordance with various aspects of thepresent disclosure. In some examples, layer configuration 400 mayimplement aspects of WLAN 100 and/or WLAN 200. Layer configuration 400may apply to a STA 115 or an AP 105, and be for a transmitting wirelessdevice or a receiving wireless device. It is to be understood thataspects of layer configuration 400 may represent logical constructs(e.g., such that components of layer configuration 400 may sharehardware components). A wireless device may support layer configuration400 through the use of various hardware configurations described herein.

As illustrated, layer configuration 400 may include upper layers 405, aMAC layer 410, and one or more PHY layers 435 (e.g., where each PHYlayer 435 may in some cases be associated with a respective link orchannel). MAC layer 410 may be further divided into upper MAC layer 415and lower MAC layer 425-a, lower MAC layer 425-b, and lower MAC layer425-c. While three lower MAC layers 425 are illustrated, it is to beunderstood that upper MAC layer 415 may control (e.g., via multi-linkaggregation controller 420) any suitable number of lower MAC layers 425.Signaling between a given lower MAC (e.g., lower MAC layer 425-a) andupper MAC layer 415 may be carried by connection 445. Similarly,signaling between lower MAC layer 425-a and PHY layer 435-a may becarried by connection 450 and signaling between lower MAC layer 425-aand lower MAC layer 425-b may be carried by connection 440. As describedbelow, the signaling for lower MAC 425-a, lower MAC layer 425-b, andlower MAC layer 425-c may be based on logic associated with respectivecontroller 430-a, controller 430-b, and controller 430-c.

With reference to FIG. 2, lower MAC layer 425-a may be associated, forexample, with link 205-a (e.g., via PHY layer 435-a) and lower MAC layer425-b may be associated, for example, with link 205-b (e.g., via PHYlayer 435-b). That is, each link 205 may have an associated lower MAClayer 425 that performs link-specific features (e.g., channel access, ULtriggered transmission procedures, multiple-input, multiple-output(MIMO) signaling, etc.) For example, lower MAC layer 425-a and lower MAClayer 425-b may independently perform enhanced distributed channelaccess (EDCA) countdowns on respective links 205-a and 205-b.Additionally or alternatively, lower MAC layers 425 may perform RTS/CTSprocedures, perform clear channel assessment (CCA) procedures, apply amodulation and coding scheme (MCS), control a physical packet data unit(PPDU) duration, transmit sounding reference signals, etc.

Upper MAC layer 415 may provide a single-link interface to upper layers405. For example, upper MAC layer 415 may perform management andsecurity-related operations. Such a design may allow a single beaconfrom an AP 105 on a primary band to control multi-band STAs 115.Additionally or alternatively, the single upper MAC layer 415 may allowfor a single association procedure to initiate the multi-link session.For example, an association procedure may be performed using a singlelink, but provide for capability information for multiple links, whichmay include the link that is being used for the association procedure.In some cases, the upper MAC layer 415 may provide signaling (e.g., OMIsignaling) that allows for dynamic bandwidth control (e.g., expansion).The upper MAC layer 415 may additionally or alternatively provide asingle BA space (e.g., a single BA scoreboard and sequence space) suchthat MPDUs may be scheduled dynamically on a per-PPDU basis for eachlink (e.g., such that a given MPDU may be retransmitted on a differentlink from that on which it was originally transmitted).

FIG. 4 may illustrate per-link (e.g., local) scoreboard management formulti-link BA procedures. For example, lower MAC layers 425 may handleprocessing and management of SNs identified in per-link BAs received.That is, each lower MAC layer 425 may update a scoreboard 455 toidentify which MPDUs have been successfully received as well as identifywhich MPDUs have been unsuccessfully received. Each scoreboard 455 maybe associated with a per-link set of SNs. In some examples, thetransmitting device may use information of each scoreboard 455 toidentify links performing strongly (e.g., by identifying scoreboards 455indicating many successful MPDU transmissions) and/or links performingweak (e.g., by identifying scoreboards 455 indicating a few or severalunsuccessful MPDU transmissions). In such cases, a receiving device(e.g., a STA receiving multi-link communications via layer configuration400) may not necessarily maintain or manage a separate upper MAC layer415 or an upper MAC entity, as the receiving device may not maintain acommon or global scoreboard for BAs.

In some examples, some links may be reserved for uplink only or downlinkonly communication (e.g., Link 1 may be a downlink directional link andLink 2 may be an uplink directional link). In cases where a receivingdevice is receiving multi-link communications via layer configuration400, the receiving device may, for example, receive multi-link downlinkcommunications via links supporting downlink communications (e.g.,including Link 1), and may pass ACK information (e.g., received SNs maybe passed via connections 440) to lower MAC entity 425-b (e.g., Link 2)which may accumulate and transmit the associated BAs to the transmittingdevice. Therefore, Link 2 may transmit BAs associated with themulti-link downlink data (e.g., the receiving device may not manage aseparate upper MAC 415). By analogy, transmitting devices may accumulateand manage SNs via link 2.

FIG. 5 illustrates an example of a layer configuration 500 that supportsmulti-link BA management in accordance with various aspects of thepresent disclosure. In some examples, layer configuration 500 mayimplement aspects of WLAN 100 and/or WLAN 200. Layer configuration 500may apply to a STA 115 or an AP 105, and be for a transmitting wirelessdevice or a receiving wireless device. It is to be understood thataspects of layer configuration 500 may represent logical constructs(e.g., such that components of layer configuration 500 may sharehardware components). A wireless device may support layer configuration500 through the use of various hardware configurations described herein.

As illustrated, layer configuration 500 may include upper layers 505, aMAC layer 510, and one or more PHY layers 535 (e.g., where each PHYlayer 535 may in some cases be associated with a respective link orchannel). MAC layer 510 may be further divided into upper MAC layer 515and lower MAC layer 525-a, lower MAC layer 525-b, and lower MAC layer525-c. While three lower MAC layers 525 are illustrated, it is to beunderstood that upper MAC layer 515 may control (e.g., via multi-linkaggregation controller 520) any suitable number of lower MAC layers 525.Signaling between a given lower MAC (e.g., lower MAC layer 525-a) andupper MAC layer 515 may be carried by connection 545. Similarly,signaling between lower MAC layer 525-a and PHY layer 535-a may becarried by connection 550 and signaling between lower MAC layer 525-aand lower MAC layer 525-b may be carried by connection 540. As describedbelow, the signaling for lower MAC 525-a, lower MAC layer 525-b, andlower MAC layer 525-c may be based on logic associated with respectivecontroller 530-a, controller 530-b, and controller 530-c.

With reference to FIG. 2, lower MAC layer 525-a may be associated, forexample, with link 205-a (e.g., via PHY layer 535-a) and lower MAC layer525-b may be associated, for example, with link 205-b (e.g., via PHYlayer 535-b). That is, each link 205 may have an associated lower MAClayer 525 that performs link-specific features (e.g., channel access, ULtriggered transmission procedures, multiple-input, multiple-output(MIMO) signaling, etc.) For example, lower MAC layer 525-a and lower MAClayer 525-b may independently perform enhanced distributed channelaccess (EDCA) countdowns on respective links 205-a and 205-b.Additionally or alternatively, lower MAC layers 525 may perform RTS/CTSprocedures, perform clear channel assessment (CCA) procedures, apply amodulation and coding scheme (MCS), control a physical packet data unit(PPDU) duration, transmit sounding reference signals, etc.

Upper MAC layer 515 may provide a single-link interface to upper layers505. For example, upper MAC layer 515 may perform management andsecurity-related operations. Such a design may allow a single beaconfrom an AP 105 on a primary band to control multi-band STAs 115.Additionally or alternatively, the single upper MAC layer 515 may allowfor a single association procedure to initiate the multi-link session.For example, an association procedure may be performed using a singlelink, but provide for capability information for multiple links, whichmay include the link that is being used for the association procedure.In some cases, the upper MAC layer 515 may provide signaling (e.g., OMIsignaling) that allows for dynamic bandwidth control (e.g., expansion).The upper MAC layer 515 may additionally or alternatively provide asingle BA space (e.g., a single BA scoreboard and sequence space) suchthat MPDUs may be scheduled dynamically on a per-PPDU basis for eachlink (e.g., such that a given MPDU may be retransmitted on a differentlink from that on which it was originally transmitted).

FIG. 5 may illustrate both global scoreboard and per-link scoreboardmanagement for multi-link BA procedures. For example, upper MAC layer515 may handle processing and management of SNs identified in BAsreceived via one or more lower MAC layers 525. That is, upper MAC layer515 may update a global scoreboard 555-a to identify which MPDUs havebeen successfully received as well as identify which MPDUs have beenunsuccessfully received. Scoreboard 555-a may be associated with aglobal set of SNs. Additionally, lower MAC layers 525 may handleprocessing and management of SNs identified in per-link BAs received.That is, each lower MAC layer 525 may update a scoreboard 555 (e.g.,scoreboard 555-b, scoreboard 555-c, and scoreboard 555-d) to identifywhich MPDUs have been successfully received as well as identify whichMPDUs have been unsuccessfully received. Scoreboard 555-b, scoreboard555-c, and scoreboard 555-d may be associated with a local or per-linkset of SNs (e.g., a set of SNs for Link 1, Link 2, and so on to Link Nrespectively). In some examples, the transmitting device may useinformation of each per-link scoreboards 555 to identify linksperforming strongly (e.g., by identifying per-link scoreboards 555indicating many successful MPDU transmissions) and/or links performingweakly (e.g., by identifying per-link scoreboards 555 indicating a fewor several unsuccessful MPDU transmissions). Further, a transmittingdevice may map per-link scoreboards 555-b, 555-c, and 555-d to globalscoreboard 555-a in order to determine which transmitted MPDUs weresuccessfully and/or unsuccessfully received on a global level (e.g., asopposed to a per-link level), as discussed in more detail below.

FIG. 6A illustrates an example of a multi-link transmission 600 and FIG.6B illustrates an example of global-local scoreboard mapping 601 thatsupports multi-link BA management in accordance with various aspects ofthe present disclosure. In some examples, multi-link transmission 600and global-local scoreboard mapping 601 may implement aspects of WLAN100 and/or WLAN 200.

As discussed above, a transmitting device may map per-link scoreboardsto a global scoreboard in order to determine which transmitted MPDUswere successfully and/or unsuccessfully received on a global level. Thatis, MPDUs may either be associated with both a local (e.g., per-link) SNas well as a global SN or, in other cases, the MPDUs may be associatedwith either a local SN or a global SN. In cases where each MPDU isassociated with both a local SN and a global SN, or in cases where eachMPDU is only associated with a global SN, such local scoreboard toglobal scoreboard mapping may not be necessary, as the global SN isalready included. However, in cases where MPDUs are only associated witha local SN, such a mapping may be performed.

In cases where a single BA agreement is established across two or morelinks associated with multi-link operation between a transmitting deviceand a receiving device, data units or packets (e.g., MPDUs) associatedwith sequential SNs may be sent on any link. The transmitting device maysequentially number the data units according to a single set of SNs(e.g., a global set of SNs), which may then be transmitted to wirelessdevice 805-b via the one or more links. As such, a multi-link BA windowsize (e.g., a longer BA window) may be used as discussed above. Thesubsequent BAs may be associated with a BA format the allows for anextended bit map to compensate for the increased number of SNsassociated with received, or not received, MPDUs (e.g., at the receivingdevice). The transmitting device may then update a global scoreboardbased on the received BAs.

In cases where a BA agreement is established per-link, each link may, insome cases, be associated with a per-link (local) set of SNs. In suchcases, each data unit may be associated with both a global SN as well asa local SN. The additional information (e.g., associated with theadditional SN) may be conveyed in the MPDU via, for example, andextended MAC header. Again, as a global SN is included, the BAs may bemapped directly to a global scoreboard.

However, in some scenarios, as illustrated in FIG. 6, transmitted MPDUsmay only be associated with local SNs. In such cases, both a globalscoreboard and per-link scoreboards (e.g., as described in more detailwith reference to FIG. 5) may be maintained. FIG. 6A shows an examplemulti-link transmission 600. Each number of FIG. 6A may illustrate aglobal MPDU number, even though MPDUs on each link may be associatedwith SNs ordered sequentially. FIG. 6B shows an example scoreboardmapping 601 that further illustrates the corresponding per-link SNs forMPDUs of example multi-link transmission 600. For example, a third MPDUto be transmitted by a transmitting device is illustrated as ‘3’ on Link2 in FIG. 6A and may correspond with the Link 2 SN value of ‘1’ in FIG.6B, as the third global MPDU (Global SN value of ‘3’) is the first MPDUtransmitted on ‘Link 2.’

As an example, each MPDU may be associated with one or more BAs. Asshown in FIG. 6A, MPDU 4 (e.g., MPDU associated with Link 2 SN value of‘2’) and MPDU 5 (e.g., MPDU associated with Link 2 SN value of ‘2’,having Global SN value of ‘5’) may be unsuccessfully transmitted. FIG.6B illustrates local or per-link scoreboard mapping to the globalscoreboard mapping. For example, an MPDU with a local SN of ‘2’ may beindicated as unsuccessfully received on Link 2 via a BA. Thetransmitting device may map the value to a global scoreboard, andidentify the fourth transmitted MPDU (e.g., MPDU associated with globalSN value of ‘4’) was unsuccessfully transmitted. As such, thetransmitting device may transmit the fourth MPDU on another link (e.g.,‘Link 1’). Further, the retransmitted MPDU with a local SN of ‘3’ may beindicated as successfully received on Link 1 via a BA. The transmittingdevice may map the value to a global scoreboard, and identify the fourthtransmitted MPDU (e.g., MPDU associated with global SN ‘4’) wassuccessfully retransmitted.

FIG. 7 illustrates an example of a process flow 700 that supportsmulti-link BA management in accordance with various aspects of thepresent disclosure. In some examples, process flow 700 may implementaspects of WLAN 100 and/or WLAN 200. Process flow 700 may include awireless device 705-a (e.g., a transmitting device) and a wirelessdevice 705-b (e.g., a receiving device), each of which may represent aSTA 115 and/or an AP 105 as described with reference to FIGS. 1 and 2.

At 710, wireless device 705-a may establish a BA agreement (which mayinclude multiple BA agreements on a per-link basis) with wireless device705-b. In some cases, establishing a BA agreement may include exchangingBA capability information. BA capability information may include a BAwindow size, a wireless link identifier, etc. For example, establishinga BA agreement may include defining or indicating a longer BA window(e.g., a 1024 bit BA window). Such a longer BA window for multi-link BAsmay allow for improved BA procedures due to the increased number ofpackets that may be received in a given time period due to multi-linkoperation. In some cases, a BA agreement may be established acrossmultiple bands or links (e.g., via wireless link identifiers). In othercases, as described in more detail above, a BA agreement may beestablished on a per-link basis.

At 715, wireless device 705-a may format data to be transmitted towireless device 705-b into one or more data units. For example, datafrom an upper layer (e.g., an application layer, etc.) may be formattedinto MPDUs (e.g., at the upper MAC layer).

At 720, wireless device 705-a may assign SNs to the one or more dataunits. The SNs may be assigned to the data units in accordance with oneor more BA agreements established at 710. That is, whether a global setof SNs are applied to the data units, or different sets of SNs areapplied to data units depending on which lower MAC layer entity or linkwill be used to transmit the data units, may be determined based atleast in part on the BA agreement established.

At 725, the wireless device 705-a may transmit the data units towireless device 705-b via multiple links and multiple MAC entities. Forexample, a first set of data units may be transmitted over a firstwireless link, and a second set of data units may be transmitted over asecond wireless link. As discussed above, at 720, the first and secondset of data units may be associated with a single set of global SNs or,in other cases, may be associated with a per-link (local) set of SNs, ormay be associated with both global SNs and per-link SNs.

At 730, wireless device 705-b may transmit one or more BAs in responseto the transmissions received at 725. The one or more BAs may indicateSNs associated with data units (e.g., MPDUs) that were successfullyreceived (e.g., via a BA bitmap). For example, at 730, wireless device705-a may decompress a BA bitmap of the one or more BAs (transmitted bywireless device 705-b) to identify SNs of data units (transmitted bywireless device 705-a at 725) that were correctly received. In somecases, BAs may include a multi-TID BA to acknowledge or not acknowledgea single TID or a single station. In such cases, wireless device 705-amay further receive (e.g., in the multi-TID BA) a first portion of thesingle TID or the single station (e.g., starting with a first startingSN) and a second portion of the single TID or the single station (e.g.,starting with a second starting SN). The one or more BAs may, inaggregate, span a BA window (e.g., established at 710).

In some examples, the BAs received by wireless device 705-a at 730 maybe received over one (e.g., a first) wireless link and the BAs may beassociated with data units sent, by the wireless device 705-a at 725,over both the first and second wireless links. In other examples,wireless device 705-a may receive a first set of BAs over the first linkfor data units sent, by the wireless device 705-a at 725, over the firstlink, and receive a second set of BAs over the second link for dataunits sent, by the wireless device 705-a at 725, over the second link.That is, BAs at 730 may be sent over a single link for data units sentover multiple links or may be sent over the respective links over whichthe data units were sent (e.g., which may be determined or establishedat 710). In other cases, BAs at 730 may be sent over multiple links fordata units sent over multiple links (which may be a different set ofmultiple links than for transmission of the data units, where some orall of the links may be different).

FIG. 8 illustrates an example of a process flow 800 that supportsmulti-link BA management in accordance with various aspects of thepresent disclosure. In some examples, process flow 800 may implementaspects of WLAN 100 and/or WLAN 200. Process flow 800 may include awireless device 805-a and a wireless device 805-b, each of which mayrepresent a STA 115 and/or an AP 105 as described with reference toFIGS. 1 and 2.

At 810, wireless device 805-a and wireless device 805-b may exchange BAcapability information. BA capability information may include a BAwindow size, a wireless link identifier, etc. In some cases, a first BAwindow size for the multiple wireless links may be determined based onthe exchanged BA capability information. Additionally, in some cases, asecond BA window size may be established for one or more of the multiplewireless links, where the second BA window size is less than the firstBA window size.

At 815, wireless device 805-a may establish a BA agreement with wirelessdevice 805-b (e.g., based on BA capability information exchanged at810). For example, establishing a BA agreement may include defining a BAagreement across bands or links (e.g., via wireless link identifiers),and may further indicate or define a longer BA window (e.g., a 1024 bitBA window). In some cases, the BA agreement may further define themulti-link BA window. In some examples, the larger overall BA window maybe further defined or divided into multiple existing agreements onshorter BA windows. For example, the wireless device 805-a and thewireless device 805-b may agree to use a 1024 bit BA window, andadditionally set up four 256 bit BA agreements, each of which may beused (e.g., at the discretion of wireless device 805-a) to coverdifferent portions of the SN, subject to the overall BA windowlimitation. Such a longer BA window for multi-link BAs may allow forimproved BA procedures due to the increased number of packets that maybe received in a given time period due to multi-link operation. In othercases, as described in more detail above, a BA agreement may beestablished on a per-link basis.

At 820, wireless device 805-a may format data to be transmitted towireless device 805-b into one or more data units. For example, datafrom an upper layer (e.g., an application layer, etc.) may be formattedinto MPDUs (e.g., at the upper MAC layer).

At 825, wireless device 805-a may assign SNs to the one or more dataunits. The SNs may be assigned to the data units in accordance with oneor more BA agreements established at 815. That is, whether a global setof SNs are applied to the data units, or different sets of SNs areapplied to data units depending on which lower MAC layer entity or linkwill be used to transmit the data units, may be determined based atleast in part on the BA agreement established.

At 830, the wireless device 805-a may transmit the data units towireless device 805-b via multiple links and multiple MAC entities. Forexample, a first set of data units may be transmitted over a firstwireless link, and a second set of data units may be transmitted over asecond wireless link. As discussed above, at 825, the first and secondset of data units may be associated with a single set of global SNs or,in other cases, may be associated with a per-link (local) set of SNs, ormay be associated with both global SNs and per-link SNs.

At 835, wireless device 805-b may transmit one or more BAs in responseto the transmissions received at 830. The one or more BAs may indicateSNs associated with data units (e.g., MPDUs) that were successfullyreceived (e.g., via a BA bitmap). For example, at 835, wireless device805-a may decompress a BA bitmap of the one or more BAs (transmitted bywireless device 805-b) to identify SNs of data units (transmitted bywireless device 805-a at 830) that were correctly received. In somecases, BAs may include a multi-TID BA to acknowledge or not acknowledgea single TID or a single station. In such cases, wireless device 805-amay further receive (e.g., in the multi-TID BA) a first portion of thesingle TID or the single station (e.g., starting with a first startingSN) and a second portion of the single TID or the single station (e.g.,starting with a second starting SN). The one or more BAs may, inaggregate, span a BA window (e.g., established at 815).

At 840, wireless device 805-a (e.g., at 840) may update one or morescoreboards based on the one or more BAs received at 835. For example,wireless device 805-a may update and maintain a single globalscoreboard, and a controller of the upper MAC layer may update thesingle global scoreboard. In other examples, wireless device 805-a mayupdate and maintain local scoreboards on a per-link basis, and acontroller of each lower MAC layer may update their respective localscoreboard. In yet other examples, a controller of the upper MAC layermay update both a global scoreboard and respective local scoreboards. Inanother example, a controller of the upper MAC layer may update a globalscoreboard while controllers of the lower MAC layers may up theirrespective local scoreboards. Such updating is also described in moredetail with reference to FIGS. 3-5.

At 845, wireless device 805-a may retransmit any necessary packets(e.g., MPDUs) based on the scoreboard updated at 840. Retransmission ofthe packets may be over the same wireless links as the originaltransmission, or may be over different wireless links. In some examples,all retransmissions may occur over a particular wireless link, and theoriginal transmission may or may not have occurred over the same link.

FIG. 9 shows a block diagram 900 of a wireless device 905 that supportsmulti-link BA management in accordance with aspects of the presentdisclosure. Wireless device 905 may be an example of aspects of a STA115 or an AP 105 as described herein. Wireless device 905 may includereceiver 910, communications manager 915, and transmitter 920. Wirelessdevice 905 may also include a processor. Each of these components may bein communication with one another (e.g., via one or more buses).

Receiver 910 may receive information such as packets, user data, orcontrol information associated with various information channels (e.g.,control channels, data channels, and information related to multi-linkBA management, etc.). Information may be passed on to other componentsof the device. The receiver 910 may be an example of aspects of thetransceiver 1235 described with reference to FIG. 12. The receiver 910may utilize a single antenna or a set of antennas.

Communications manager 915 may be an example of aspects of thecommunications manager 1215 described with reference to FIG. 12.Communications manager 915 and/or at least some of its varioussub-components may be implemented in hardware, software executed by aprocessor, firmware, or any combination thereof. If implemented insoftware executed by a processor, the functions of the communicationsmanager 915 and/or at least some of its various sub-components may beexecuted by a general-purpose processor, a digital signal processor(DSP), an application-specific integrated circuit (ASIC), anfield-programmable gate array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described in thepresent disclosure. The communications manager 915 and/or at least someof its various sub-components may be physically located at variouspositions, including being distributed such that portions of functionsare implemented at different physical locations by one or more physicaldevices. In some examples, communications manager 915 and/or at leastsome of its various sub-components may be a separate and distinctcomponent in accordance with various aspects of the present disclosure.In other examples, communications manager 915 and/or at least some ofits various sub-components may be combined with one or more otherhardware components, including but not limited to an I/O component, atransceiver, a network server, another computing device, one or moreother components described in the present disclosure, or a combinationthereof in accordance with various aspects of the present disclosure.

In cases where communications manager 915 is within a devicetransmitting multi-link communications (e.g., a first wireless device),communications manager 915 may establish a block acknowledgementagreement for a set of wireless links used for communications inparallel between the first wireless device (e.g., the devicetransmitting multi-link communications) and a second wireless device(e.g., a device receiving multi-link communications and transmittingcorresponding block acknowledgements). Communications manager 915 mayformat data to be transmitted to the second wireless device into a setof data units and assign, to each of the set of data units, a respectiveone of a set of sequence numbers common to the set of wireless links.Communications manager 915 may then transmit the set of data units tothe second wireless device over one or more of the set of wirelesslinks, and receive a set of block acknowledgements, each of the set ofblock acknowledgements indicating one or more of the set of commonsequence numbers.

In cases where communications manager 915 is within a device receivingmulti-link communications (e.g., a first wireless device),communications manager 915 may establish a block acknowledgementagreement for a set of wireless links used for communications inparallel between the first wireless device (e.g., the device receivingmulti-link communications and transmitting corresponding blockacknowledgements) and a second wireless device (e.g., a devicetransmitting multi-link communications). Communications manager 915 mayreceive a set of data units from the second wireless device over one ormore of the set of wireless links, each data unit of the set of dataunits associated with one of a set of sequence numbers common to the setof wireless links. Communications manager 915 may then transmit a set ofblock acknowledgements in response to the set of data units, each of theset of block acknowledgements indicating one or more of the set ofcommon sequence numbers.

Transmitter 920 may transmit signals generated by other components ofthe device. In some examples, the transmitter 920 may be collocated witha receiver 910 in a transceiver module. For example, the transmitter 920may be an example of aspects of the transceiver 1235 described withreference to FIG. 12. The transmitter 920 may utilize a single antennaor a set of antennas.

FIG. 10 shows a block diagram 1000 of a wireless device 1005 thatsupports multi-link BA management in accordance with aspects of thepresent disclosure. Wireless device 1005 may be an example of aspects ofa wireless device 905 or a STA 115 or an AP 105 as described withreference to FIG. 9. Wireless device 1005 may include receiver 1010,communications manager 1015, and transmitter 1020. Wireless device 1005may also include a processor. Each of these components may be incommunication with one another (e.g., via one or more buses).

Receiver 1010 may receive information such as packets, user data, orcontrol information associated with various information channels (e.g.,control channels, data channels, and information related to multi-linkBA management, etc.). Information may be passed on to other componentsof the device. The receiver 1010 may be an example of aspects of thetransceiver 1235 described with reference to FIG. 12. The receiver 1010may utilize a single antenna or a set of antennas.

Communications manager 1015 may be an example of aspects of thecommunications manager 1215 described with reference to FIG. 12.Communications manager 1015 may also include BA agreement manager 1025,data unit manager 1030, SN manager 1035, multi-link manager 1040, and BAmanager 1045.

BA agreement manager 1025 may establish a block acknowledgementagreement for a set of wireless links used for communications inparallel between a transmitting wireless device and a receiving wirelessdevice.

Data unit manager 1030 may format data, at a transmitting device, to betransmitted to the receiving wireless device into a set of data units.

SN manager 1035 may assign, to each of the set of data units, arespective one of a set of sequence numbers common to the set ofwireless links. In some cases, SN manager 1035 may assign a respectivesequence number of a second set of sequence numbers to each of a firstset of data units of the set of data units to be transmitted over afirst wireless link of the set of wireless links, and assign arespective sequence number of a third set of sequence numbers to each ofa second set of data units of the set of data units to be transmittedover a second wireless link of the set of wireless links. In some cases,a received set of block acknowledgements may further indicate one ormore sequence numbers of the second set of sequence numbers for thefirst set of data units, or one or more sequence numbers of the thirdset of sequence numbers for the second set of data units, or acombination thereof.

Multi-link manager 1040 may transmit the set of data units to the secondwireless device over one or more of the set of wireless links, transmita second set of data units of the set of data units to the secondwireless device over a second wireless link of the set of wirelesslinks, and receive a set of data units from the second wireless deviceover one or more of the set of wireless links, each data unit of the setof data units associated with one of a set of sequence numbers common tothe set of wireless links. In some cases, transmitting the set of dataunits to the second wireless device over one or more of the set ofwireless data links further includes: transmitting a first set of dataunits of the set of data units to the second wireless device over afirst wireless link of the set of wireless links.

BA manager 1045 may receive a set of block acknowledgements, each of theset of block acknowledgements indicating one or more of the set ofcommon sequence numbers, receive a second set of the set of blockacknowledgement over the second wireless link, where the second set ofthe set of block acknowledgements is for the second set of the set ofdata units, receive the set block acknowledgements over the firstwireless link, the set of block acknowledgements for both the first setof the set of data units and the second set of the set of data units,transmit a set of block acknowledgements in response to the set of dataunits, each of the set of block acknowledgements indicating one or moreof the set of common sequence numbers, exchange block acknowledgementcapability information with the second wireless device, where the blockacknowledgement agreement is established based on the exchanged blockacknowledgement capability information, decompress a blockacknowledgement bitmap of the received set of block acknowledgements toidentify the one or more of the set of common sequence numbers, receivea second set of the set of data units from the wireless device over asecond wireless link of the set of wireless links, each data unit of thesecond set associated with one of the set of common sequence numbers,and received set of block acknowledgements in aggregate span a blockacknowledgement window. In some cases, receiving the set of blockacknowledgements further includes: receiving a first set of the set ofblock acknowledgement over the first wireless link, where the first setof the set of block acknowledgements is for the first set of the set ofdata units. In some cases, a block acknowledgement of the set of blockacknowledgements includes a multi-traffic identifier (TID) blockacknowledgement to acknowledge or not acknowledge a single TID or asingle station. In some cases, receiving the set of blockacknowledgements includes: receiving, in the multi-TID blockacknowledgement, a first portion associated with a first startingsequence number and a second portion associated with a second startingsequence number, where the first portion and the second portion are forthe single TID or the single station. In some cases, transmitting theset of block acknowledgements further includes: transmitting amulti-traffic identifier (TID) block acknowledgement to acknowledge ornot acknowledge a single TID or a single station, the multi-TID blockacknowledgement including a first portion associated with a firststarting sequence number and a second portion associated with a secondstarting sequence number, where the first portion and the second portionare for the single TID or the single station. In some cases, receivingthe set of data units from the second wireless device over the one ormore of the set of wireless links further includes: receiving a firstset of a set of data units from the wireless device over a firstwireless link of the set of wireless links, each data unit of the firstset associated with one of the set of common sequence numbers. In somecases, each of the set of block acknowledgements further indicate: oneor more of a first set of sequence numbers for the received first set ofdata units; or one or more of a second set of sequence numbers for thereceived second set of data units.

Transmitter 1020 may transmit signals generated by other components ofthe device. In some examples, the transmitter 1020 may be collocatedwith a receiver 1010 in a transceiver module. For example, thetransmitter 1020 may be an example of aspects of the transceiver 1235described with reference to FIG. 12. The transmitter 1020 may utilize asingle antenna or a set of antennas.

FIG. 11 shows a block diagram 1100 of a communications manager 1115 thatsupports multi-link BA management in accordance with aspects of thepresent disclosure. The communications manager 1115 may be an example ofaspects of a communications manager 915, a communications manager 1015,or a communications manager 1215 described with reference to FIGS. 9,10, and 12. The communications manager 1115 may include BA agreementmanager 1120, data unit manager 1125, SN manager 1130, multi-linkmanager 1135, BA manager 1140, BA scoreboard manager 1145, and BAcapabilities manager 1150. Each of these modules may communicate,directly or indirectly, with one another (e.g., via one or more buses).

BA agreement manager 1120 may establish a block acknowledgementagreement for a set of wireless links used for communications inparallel between the first wireless device and a second wireless device.

Data unit manager 1125 may format data to be transmitted to the secondwireless device into a set of data units.

SN manager 1130 may assign, to each of the set of data units, arespective one of a set of sequence numbers common to the set ofwireless links, assign a respective sequence number of a second set ofsequence numbers to each of a first set of data units of the set of dataunits to be transmitted over a first wireless link of the set ofwireless links, and assign a respective sequence number of a third setof sequence numbers to each of a second set of data units of the set ofdata units to be transmitted over a second wireless link of the set ofwireless links. In some cases, the received set of blockacknowledgements further indicate one or more sequence numbers of thesecond set of sequence numbers for the first set of data units, or oneor more sequence numbers of the third set of sequence numbers for thesecond set of data units, or a combination thereof.

In a transmitting device (e.g., in a first device), multi-link manager1135 may transmit the set of data units to a second wireless device(e.g., a receiving device) over one or more of the set of wirelesslinks, and transmit a second set of data units of the set of data unitsto the second wireless device over a second wireless link of the set ofwireless links. In some cases, transmitting the set of data units to thesecond wireless device over one or more of the set of wireless datalinks further includes transmitting a first set of data units of the setof data units to the second wireless device over a first wireless linkof the set of wireless links.

In a receiving device (e.g., a first device) multi-link manager 1135 mayreceive a set of data units from a second wireless device (e.g., atransmitting device) over one or more of the set of wireless links, eachdata unit of the set of data units associated with one of a set ofsequence numbers common to the set of wireless links.

In a transmitting device (e.g., a first device), BA manager 1140 mayreceive a set of block acknowledgements, each of the set of blockacknowledgements indicating one or more of the set of common sequencenumbers. BA manager 1140 may receive a second set of the set of blockacknowledgement over the second wireless link, where the second set ofthe set of block acknowledgements is for the second set of the set ofdata units. BA manager 1140 may receive the set block acknowledgementsover the first wireless link, the set of block acknowledgements for boththe first set of the set of data units and the second set of the set ofdata units. In some cases, BA manager 1140 may decompress a blockacknowledgement bitmap of the received set of block acknowledgements toidentify the one or more of the set of common sequence numbers. In somecases, BA manager 1140 may receive a second set of the set of data unitsfrom the second wireless device over a second wireless link of the setof wireless links, each data unit of the second set associated with oneof the set of common sequence numbers. BA manager 1140 may receive a setof block acknowledgements in aggregate span a block acknowledgementwindow. In some cases, receiving the set of block acknowledgementsfurther includes receiving a first set of the set of blockacknowledgement over the first wireless link, where the first set of theset of block acknowledgements is for the first set of the set of dataunits. In some cases, a block acknowledgement of the set of blockacknowledgements includes a multi-TID block acknowledgement toacknowledge or not acknowledge a single TID or a single station. In somecases, receiving the set of block acknowledgements includes receiving,in the multi-TID block acknowledgement, a first portion associated witha first starting sequence number and a second portion associated with asecond starting sequence number, where the first portion and the secondportion are for the single TID or the single station.

In some cases, BA manager 1140 may exchange block acknowledgementcapability information with a second wireless device (e.g., a receivingdevice), where the block acknowledgement agreement is established basedon the exchanged block acknowledgement capability information. In somecases, the block acknowledgement capability information includes a blockacknowledgement window size, or a wireless link identifier, or acombination thereof.

In a receiving device (e.g., a first device), BA manager 1140 maytransmit a set of block acknowledgements in response to the set of dataunits, each of the set of block acknowledgements may indicate one ormore of the set of common sequence numbers. In some cases, BA manager1140 may exchange block acknowledgement capability information with asecond wireless device (e.g., a transmitting device), where the blockacknowledgement agreement is established based on the exchanged blockacknowledgement capability information. In some cases, transmitting theset of block acknowledgements further includes transmitting a multi-TIDblock acknowledgement to acknowledge or not acknowledge a single TID ora single station, the multi-TID block acknowledgement including a firstportion associated with a first starting sequence number and a secondportion associated with a second starting sequence number, where thefirst portion and the second portion are for the single TID or thesingle station. In some cases, receiving the set of data units from thesecond wireless device over the one or more of the set of wireless linksfurther includes receiving a first set of a set of data units from thesecond wireless device over a first wireless link of the set of wirelesslinks, each data unit of the first set associated with one of the set ofcommon sequence numbers. In some cases, each of the set of blockacknowledgements further indicate one or more of a first set of sequencenumbers for the received first set of data units or one or more of asecond set of sequence numbers for the received second set of dataunits.

In some cases, BA manager 1140 may exchange block acknowledgementcapability information with a second wireless device (e.g., atransmitting device), where the block acknowledgement agreement isestablished based on the exchanged block acknowledgement capabilityinformation. In some cases, the block acknowledgement capabilityinformation includes a block acknowledgement window size, or a wirelesslink identifier, or a combination thereof.

In some cases, BA manager 1140 may receive a plurality of blockacknowledgements (in response to multiple data units) over at least onewireless link of one or more of multiple wireless links used forcommunications in parallel between two wireless devices, and themulti-link manager 1135 may transmit at least a portion of the multipledata units to the wireless device over a second wireless link of themultiple wireless links, the second wireless link a unidirectionalwireless link that is exclusive of the at least one wireless link usedto receive the block acknowledgements.

BA scoreboard manager 1145 may update, based on one or more of the setof received block acknowledgments, a scoreboard to track data unitsacknowledged or not acknowledged by the second wireless device for theset of wireless links and update, based on the received set of blockacknowledgments, a first scoreboard to track data units acknowledged ornot acknowledged by the second wireless device for a first wireless linkof the set of wireless links, and a second scoreboard to track dataunits acknowledged or not acknowledged by the second wireless device fora second wireless link of the set of wireless links.

BA capabilities manager 1150 may determine a first block acknowledgementwindow size for the set of wireless links based on the exchanged blockacknowledgement capability information and establish a second blockacknowledgement window size for a first wireless link of the set ofwireless links, the second block acknowledgement window size less thanthe first block acknowledgement window size.

FIG. 12 shows a diagram of a system 1200 including a device 1205 thatsupports multi-link BA management in accordance with aspects of thepresent disclosure. Device 1205 may be an example of or include thecomponents of wireless device 905, wireless device 1005, or a STA 115 oran AP 105 as described above, e.g., with reference to FIGS. 9 and 10.Device 1205 may include components for bi-directional voice and datacommunications including components for transmitting and receivingcommunications, including communications manager 1215, processor 1220,memory 1225, software 1230, transceiver 1235, antenna 1240, and I/Ocontroller 1245. These components may be in electronic communication viaone or more buses (e.g., bus 1210).

Processor 1220 may include an intelligent hardware device, (e.g., ageneral-purpose processor, a DSP, a central processing unit (CPU), amicrocontroller, an ASIC, an FPGA, a programmable logic device, adiscrete gate or transistor logic component, a discrete hardwarecomponent, or any combination thereof). In some cases, processor 1220may be configured to operate a memory array using a memory controller.In other cases, a memory controller may be integrated into processor1220. Processor 1220 may be configured to execute computer-readableinstructions stored in a memory to perform various functions (e.g.,functions or tasks supporting multi-link BA management).

Memory 1225 may include random access memory (RAM) and read only memory(ROM). The memory 1225 may store computer-readable, computer-executablesoftware 1230 including instructions that, when executed, cause theprocessor to perform various functions described herein. In some cases,the memory 1225 may contain, among other things, a basic input/outputsystem (BIOS) which may control basic hardware or software operationsuch as the interaction with peripheral components or devices.

Software 1230 may include code to implement aspects of the presentdisclosure, including code to support multi-link BA management. Software1230 may be stored in a non-transitory computer-readable medium such assystem memory or other memory. In some cases, the software 1230 may notbe directly executable by the processor but may cause a computer (e.g.,when compiled and executed) to perform functions described herein.

Transceiver 1235 may communicate bi-directionally, via one or moreantennas, wired, or wireless links as described above. For example, thetransceiver 1235 may represent a wireless transceiver and maycommunicate bi-directionally with another wireless transceiver. Thetransceiver 1235 may also include a modem to modulate the packets andprovide the modulated packets to the antennas for transmission, and todemodulate packets received from the antennas.

In some cases, the wireless device may include a single antenna 1240.However, in some cases the device may have more than one antenna 1240,which may be capable of concurrently transmitting or receiving multiplewireless transmissions.

I/O controller 1245 may manage input and output signals for device 1205.I/O controller 1245 may also manage peripherals not integrated intodevice 1205. In some cases, I/O controller 1245 may represent a physicalconnection or port to an external peripheral. In some cases, I/Ocontroller 1245 may utilize an operating system such as iOS®, ANDROID®,MS-DOS®, MS-WINDOWS®, OS/2®, UNIX®, LINUX®, or another known operatingsystem. In other cases, I/O controller 1245 may represent or interactwith a modem, a keyboard, a mouse, a touchscreen, or a similar device.In some cases, I/O controller 1245 may be implemented as part of aprocessor. In some cases, a user may interact with device 1205 via I/Ocontroller 1245 or via hardware components controlled by I/O controller1245.

FIG. 13 shows a flowchart illustrating a method 1300 for multi-link BAmanagement in accordance with aspects of the present disclosure. Theoperations of method 1300 may be implemented by a STA 115 or an AP 105or its components as described herein. For example, the operations ofmethod 1300 may be performed by a communications manager as describedwith reference to FIGS. 9 through 12. In some examples, a STA 115 or anAP 105 may execute a set of codes to control the functional elements ofthe device to perform the functions described below. Additionally oralternatively, the STA 115 or an AP 105 may perform aspects of thefunctions described below using special-purpose hardware.

At 1305 the STA 115 (or an AP 105) may establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the STA 115 or the AP 105 (e.g., the first wirelessdevice) and a second wireless device (e.g., some other receiving STA 115or AP 105). The operations of 1305 may be performed according to themethods described herein. In certain examples, aspects of the operationsof 1305 may be performed by a BA agreement manager as described withreference to FIGS. 9 through 12.

At 1310 the STA 115 (or the AP 105) may format data to be transmitted tothe second wireless device (e.g., a receiving device) into a pluralityof data units. The operations of 1310 may be performed according to themethods described herein. In certain examples, aspects of the operationsof 1310 may be performed by a data unit manager as described withreference to FIGS. 9 through 12.

At 1315 the STA 115 (or the AP 105) may assign, to each of the pluralityof data units, a respective one of a set of sequence numbers common tothe plurality of wireless links. The operations of 1315 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 1315 may be performed by a SN manager as describedwith reference to FIGS. 9 through 12.

At 1320 the STA 115 (or the AP 105) may transmit the plurality of dataunits to the second wireless device (e.g., the receiving device) overone or more of the plurality of wireless links. The operations of 1320may be performed according to the methods described herein. In certainexamples, aspects of the operations of 1320 may be performed by amulti-link manager as described with reference to FIGS. 9 through 12.

At 1325 the STA 115 (or the AP 105) may receive a plurality of blockacknowledgements, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers. Theoperations of 1325 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 1325 may beperformed by a BA manager as described with reference to FIGS. 9 through12.

FIG. 14 shows a flowchart illustrating a method 1400 for multi-link BAmanagement in accordance with aspects of the present disclosure. Theoperations of method 1400 may be implemented by a STA 115 or an AP 105or its components as described herein. For example, the operations ofmethod 1400 may be performed by a communications manager as describedwith reference to FIGS. 9 through 12. In some examples, a STA 115 or anAP 105 may execute a set of codes to control the functional elements ofthe device to perform the functions described below. Additionally oralternatively, the STA 115 or an AP 105 may perform aspects of thefunctions described below using special-purpose hardware.

At 1405 the STA 115 (or an AP 105) may establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the STA 115 or the AP 105 (e.g., the first wirelessdevice) and a second wireless device (e.g., a receiving device). Theoperations of 1405 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 1405 may beperformed by a BA agreement manager as described with reference to FIGS.9 through 12.

At 1410 the STA 115 (or the AP 105) may format data to be transmitted tothe second wireless device (e.g., the receiving device) into a pluralityof data units. The operations of 1410 may be performed according to themethods described herein. In certain examples, aspects of the operationsof 1410 may be performed by a data unit manager as described withreference to FIGS. 9 through 12.

At 1415 the STA 115 (or the AP 105) may assign, to each of the pluralityof data units, a respective one of a set of sequence numbers common tothe plurality of wireless links. The operations of 1415 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 1415 may be performed by a SN manager as describedwith reference to FIGS. 9 through 12.

At 1420 the STA 115 (or the AP 105) may transmit the plurality of dataunits to the second wireless device (e.g., the receiving device) overone or more of the plurality of wireless links. The operations of 1420may be performed according to the methods described herein. In certainexamples, aspects of the operations of 1420 may be performed by amulti-link manager as described with reference to FIGS. 9 through 12.

At 1425 the STA 115 (or the AP 105) may receive a plurality of blockacknowledgements, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers. Theoperations of 1425 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 1425 may beperformed by a BA manager as described with reference to FIGS. 9 through12.

At 1430 the STA 115 (or the AP 105) may update, based at least in parton one or more of the plurality of received block acknowledgments, ascoreboard to track data units acknowledged or not acknowledged by thesecond wireless device (e.g., the receiving device) for the plurality ofwireless links. The operations of 1430 may be performed according to themethods described herein. In certain examples, aspects of the operationsof 1430 may be performed by a BA scoreboard manager as described withreference to FIGS. 9 through 12.

FIG. 15 shows a flowchart illustrating a method 1500 for multi-link BAmanagement in accordance with aspects of the present disclosure. Theoperations of method 1500 may be implemented by a STA 115 or an AP 105or its components as described herein. For example, the operations ofmethod 1500 may be performed by a communications manager as describedwith reference to FIGS. 9 through 12. In some examples, a STA 115 or anAP 105 may execute a set of codes to control the functional elements ofthe device to perform the functions described below. Additionally oralternatively, the STA 115 or an AP 105 may perform aspects of thefunctions described below using special-purpose hardware.

At 1505 the STA 115 (or an AP 105) may establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the STA 115 or the AP 105 (e.g., the first wirelessdevice) and a second wireless device (e.g., a receiving device). Theoperations of 1505 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 1505 may beperformed by a BA agreement manager as described with reference to FIGS.9 through 12.

At 1510 the STA 115 (or the AP 105) may format data to be transmitted tothe second wireless device (e.g., the receiving device) into a pluralityof data units. The operations of 1510 may be performed according to themethods described herein. In certain examples, aspects of the operationsof 1510 may be performed by a data unit manager as described withreference to FIGS. 9 through 12.

At 1515 the STA 115 (or the AP 105) may assign, to each of the pluralityof data units, a respective one of a set of sequence numbers common tothe plurality of wireless links. The operations of 1515 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 1515 may be performed by a SN manager as describedwith reference to FIGS. 9 through 12.

At 1520 the STA 115 (or the AP 105) may transmit the plurality of dataunits to the second wireless device (e.g., the receiving device) overone or more of the plurality of wireless links. The operations of 1520may be performed according to the methods described herein. In certainexamples, aspects of the operations of 1520 may be performed by amulti-link manager as described with reference to FIGS. 9 through 12.

At 1525 the STA 115 (or the AP 105) may receive a plurality of blockacknowledgements, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers. Theoperations of 1525 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 1525 may beperformed by a BA manager as described with reference to FIGS. 9 through12.

At 1530 the STA 115 (or the AP 105) may update, based at least in parton the received plurality of block acknowledgments, a first scoreboardto track data units acknowledged or not acknowledged by the secondwireless device (e.g., the receiving device) for a first wireless linkof the plurality of wireless links, and a second scoreboard to trackdata units acknowledged or not acknowledged by the second wirelessdevice (e.g., the receiving device) for a second wireless link of theplurality of wireless links. The operations of 1530 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 1530 may be performed by a BA scoreboard manager asdescribed with reference to FIGS. 9 through 12.

FIG. 16 shows a flowchart illustrating a method 1600 for multi-link BAmanagement in accordance with aspects of the present disclosure. Theoperations of method 1600 may be implemented by a STA 115 or an AP 105or its components as described herein. For example, the operations ofmethod 1600 may be performed by a communications manager as describedwith reference to FIGS. 9 through 12. In some examples, a STA 115 or anAP 105 may execute a set of codes to control the functional elements ofthe device to perform the functions described below. Additionally oralternatively, the STA 115 or an AP 105 may perform aspects of thefunctions described below using special-purpose hardware.

At 1605 the STA 115 (or an AP 105) may establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the STA 115 or the AP 105 (e.g., the first wirelessdevice) and a second wireless device (e.g., a multi-link receivingdevice). The operations of 1605 may be performed according to themethods described herein. In certain examples, aspects of the operationsof 1605 may be performed by a BA agreement manager as described withreference to FIGS. 9 through 12.

At 1610 the STA 115 (or the AP 105) may format data to be transmitted tothe second wireless device (e.g., the receiving device) into a pluralityof data units. The operations of 1610 may be performed according to themethods described herein. In certain examples, aspects of the operationsof 1610 may be performed by a data unit manager as described withreference to FIGS. 9 through 12.

At 1615 the STA 115 (or the AP 105) may assign, to each of the pluralityof data units, a respective one of a set of sequence numbers common tothe plurality of wireless links. The operations of 1615 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 1615 may be performed by a SN manager as describedwith reference to FIGS. 9 through 12.

At 1620 the STA 115 (or the AP 105) may assign a respective sequencenumber of a second set of sequence numbers to each of a first set ofdata units of the plurality of data units to be transmitted over a firstwireless link of the plurality of wireless links. The operations of 1620may be performed according to the methods described herein. In certainexamples, aspects of the operations of 1620 may be performed by a SNmanager as described with reference to FIGS. 9 through 12.

At 1625 the STA 115 (or the AP 105) may assign a respective sequencenumber of a third set of sequence numbers to each of a second set ofdata units of the plurality of data units to be transmitted over asecond wireless link of the plurality of wireless links. The operationsof 1625 may be performed according to the methods described herein. Incertain examples, aspects of the operations of 1625 may be performed bya SN manager as described with reference to FIGS. 9 through 12.

At 1630 the STA 115 (or the AP 105) may transmit the plurality of dataunits to the second wireless device over one or more of the plurality ofwireless links. The operations of 1630 may be performed according to themethods described herein. In certain examples, aspects of the operationsof 1630 may be performed by a multi-link manager as described withreference to FIGS. 9 through 12.

At 1635 the STA 115 (or the AP 105) may receive a plurality of blockacknowledgements, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers. Theoperations of 1635 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 1635 may beperformed by a BA manager as described with reference to FIGS. 9 through12.

FIG. 17 shows a flowchart illustrating a method 1700 for multi-link BAmanagement in accordance with aspects of the present disclosure. Theoperations of method 1700 may be implemented by a STA 115 or an AP 105or its components as described herein. For example, the operations ofmethod 1700 may be performed by a communications manager as describedwith reference to FIGS. 9 through 12. In some examples, a STA 115 or anAP 105 may execute a set of codes to control the functional elements ofthe device to perform the functions described below. Additionally oralternatively, the STA 115 or an AP 105 may perform aspects of thefunctions described below using special-purpose hardware.

At 1705 the STA 115 (or an AP 105) may establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the STA 115 or the AP 105 (e.g., the first wirelessdevice) and a second wireless device (e.g., a device transmittingmulti-link communications). The operations of 1705 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 1705 may be performed by a BA agreement manager asdescribed with reference to FIGS. 9 through 12.

At 1710 the STA 115 (or the AP 105) may receive a plurality of dataunits from the second wireless device (e.g., the transmitting device)over one or more of the plurality of wireless links, each data unit ofthe plurality of data units associated with one of a set of sequencenumbers common to the plurality of wireless links. The operations of1710 may be performed according to the methods described herein. Incertain examples, aspects of the operations of 1710 may be performed bya multi-link manager as described with reference to FIGS. 9 through 12.

At 1715 the STA 115 (or the AP 105) may transmit a plurality of blockacknowledgements in response to the plurality of data units, each of theplurality of block acknowledgements indicating one or more of the set ofcommon sequence numbers. The operations of 1715 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 1715 may be performed by a BA manager as describedwith reference to FIGS. 9 through 12.

It should be noted that the methods described above describe possibleimplementations, and that the operations and the steps may be rearrangedor otherwise modified and that other implementations are possible.Furthermore, aspects from two or more of the methods may be combined.

Techniques described herein may be used for various wirelesscommunications systems such as code division multiple access (CDMA),time division multiple access (TDMA), frequency division multiple access(FDMA), orthogonal frequency division multiple access (OFDMA), singlecarrier frequency division multiple access (SC-FDMA), and other systems.The terms “system” and “network” are often used interchangeably. A codedivision multiple access (CDMA) system may implement a radio technologysuch as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc.CDMA2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releasesmay be commonly referred to as CDMA2000 1×, 1×, etc. IS-856 (TIA-856) iscommonly referred to as CDMA2000 1×EV-DO, High Rate Packet Data (HRPD),etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. Atime division multiple access (TDMA) system may implement a radiotechnology such as Global System for Mobile Communications (GSM). Anorthogonal frequency division multiple access (OFDMA) system mayimplement a radio technology such as Ultra Mobile Broadband (UMB),Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE802.20, Flash-OFDM, etc.

The wireless communications system or systems described herein maysupport synchronous or asynchronous operation. For synchronousoperation, the stations may have similar frame timing, and transmissionsfrom different stations may be approximately aligned in time. Forasynchronous operation, the stations may have different frame timing,and transmissions from different stations may not be aligned in time.The techniques described herein may be used for either synchronous orasynchronous operations.

The downlink transmissions described herein may also be called forwardlink transmissions while the uplink transmissions may also be calledreverse link transmissions. Each communication link describedherein—including, for example, wireless communications system 100 and200 of FIGS. 1 and 2—may include one or more carriers, where eachcarrier may be a signal made up of multiple sub-carriers (e.g., waveformsignals of different frequencies).

The description set forth herein, in connection with the appendeddrawings, describes example configurations and does not represent allthe examples that may be implemented or that are within the scope of theclaims. The term “exemplary” used herein means “serving as an example,instance, or illustration,” and not “preferred” or “advantageous overother examples.” The detailed description includes specific details forthe purpose of providing an understanding of the described techniques.These techniques, however, may be practiced without these specificdetails. In some instances, well-known structures and devices are shownin block diagram form in order to avoid obscuring the concepts of thedescribed examples.

In the appended figures, similar components or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If just the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

Information and signals described herein may be represented using any ofa variety of different technologies and techniques. For example, data,instructions, commands, information, signals, bits, symbols, and chipsthat may be referenced throughout the above description may berepresented by voltages, currents, electromagnetic waves, magneticfields or particles, optical fields or particles, or any combinationthereof.

The various illustrative blocks and modules described in connection withthe disclosure herein may be implemented or performed with ageneral-purpose processor, a DSP, an ASIC, an FPGA or other programmablelogic device, discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. A general-purpose processor may be a microprocessor,but in the alternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices (e.g., a combinationof a DSP and a microprocessor, multiple microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration).

The functions described herein may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof. Ifimplemented in software executed by a processor, the functions may bestored on or transmitted over as one or more instructions or code on acomputer-readable medium. Other examples and implementations are withinthe scope of the disclosure and appended claims. For example, due to thenature of software, functions described above may be implemented usingsoftware executed by a processor, hardware, firmware, hardwiring, orcombinations of any of these. Features implementing functions may alsobe physically located at various positions, including being distributedsuch that portions of functions are implemented at different physicallocations. Also, as used herein, including in the claims, “or” as usedin a list of items (for example, a list of items prefaced by a phrasesuch as “at least one of” or “one or more of”) indicates an inclusivelist such that, for example, a list of at least one of A, B, or C meansA or B or C or AB or AC or BC or ABC (i.e., A and B and C). Also, asused herein, the phrase “based on” shall not be construed as a referenceto a closed set of conditions. For example, an exemplary step that isdescribed as “based on condition A” may be based on both a condition Aand a condition B without departing from the scope of the presentdisclosure. In other words, as used herein, the phrase “based on” shallbe construed in the same manner as the phrase “based at least in parton.”

Computer-readable media includes both non-transitory computer storagemedia and communication media including any medium that facilitatestransfer of a computer program from one place to another. Anon-transitory storage medium may be any available medium that can beaccessed by a general purpose or special purpose computer. By way ofexample, and not limitation, non-transitory computer-readable media cancomprise RAM, ROM, electrically erasable programmable read only memory(EEPROM), compact disk (CD) ROM or other optical disk storage, magneticdisk storage or other magnetic storage devices, or any othernon-transitory medium that can be used to carry or store desired programcode means in the form of instructions or data structures and that canbe accessed by a general-purpose or special-purpose computer, or ageneral-purpose or special-purpose processor. Also, any connection isproperly termed a computer-readable medium. For example, if the softwareis transmitted from a website, server, or other remote source using acoaxial cable, fiber optic cable, twisted pair, digital subscriber line(DSL), or wireless technologies such as infrared, radio, and microwave,then the coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared, radio,and microwave are included in the definition of medium. Disk and disc,as used herein, include CD, laser disc, optical disc, digital versatiledisc (DVD), floppy disk and Blu-ray disc where disks usually reproducedata magnetically, while discs reproduce data optically with lasers.Combinations of the above are also included within the scope ofcomputer-readable media.

The description herein is provided to enable a person skilled in the artto make or use the disclosure. Various modifications to the disclosurewill be readily apparent to those skilled in the art, and the genericprinciples defined herein may be applied to other variations withoutdeparting from the scope of the disclosure. Thus, the disclosure is notlimited to the examples and designs described herein, but is to beaccorded the broadest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. An apparatus for wireless communication,comprising: a processor; memory in electronic communication with theprocessor; and instructions stored in the memory and executable by theprocessor to cause the apparatus to: establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the apparatus and a second wireless device; format datato be transmitted to the wireless device into a plurality of data units;assign, to each of the plurality of data units, a respective one of aset of sequence numbers common to the plurality of wireless links;transmit the plurality of data units to the wireless device over one ormore of the plurality of wireless links; and receive a plurality ofblock acknowledgements, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers.
 2. Theapparatus of claim 1, wherein the instructions to transmit the pluralityof data units to the wireless device over one or more of the pluralityof wireless data links are executable by the processor to cause theapparatus to: transmit a first set of data units of the plurality ofdata units to the wireless device over a first wireless link of theplurality of wireless links; and transmit a second set of data units ofthe plurality of data units to the wireless device over a secondwireless link of the plurality of wireless links.
 3. The apparatus ofclaim 2, wherein the instructions to receive the plurality of blockacknowledgements are executable by the processor to cause the apparatusto: receive a first set of the plurality of block acknowledgement overthe first wireless link, wherein the first set of the plurality of blockacknowledgements is for the first set of the plurality of data units;and receive a second set of the plurality of block acknowledgement overthe second wireless link, wherein the second set of the plurality ofblock acknowledgements is for the second set of the plurality of dataunits.
 4. The apparatus of claim 2, wherein the instructions are furtherexecutable by the processor to cause the apparatus to: receive theplurality block acknowledgements over the first wireless link, theplurality of block acknowledgements for both the first set of theplurality of data units and the second set of the plurality of dataunits.
 5. The apparatus of claim 1, wherein the instructions are furtherexecutable by the processor to cause the apparatus to: update, based atleast in part on one or more of the plurality of received blockacknowledgements, a scoreboard to track data units acknowledged or notacknowledged by the wireless device for the plurality of wireless links.6. The apparatus of claim 1, wherein the instructions are furtherexecutable by the processor to cause the apparatus to: update, based atleast in part on the received plurality of block acknowledgements, afirst scoreboard to track data units acknowledged or not acknowledged bythe wireless device for a first wireless link of the plurality ofwireless links, and a second scoreboard to track data units acknowledgedor not acknowledged by the wireless device for a second wireless link ofthe plurality of wireless links.
 7. The apparatus of claim 1, whereinthe instructions are further executable by the processor to cause theapparatus to: assign a respective sequence number of a second set ofsequence numbers to each of a first set of data units of the pluralityof data units to be transmitted over a first wireless link of theplurality of wireless links; and assign a respective sequence number ofa third set of sequence numbers to each of a second set of data units ofthe plurality of data units to be transmitted over a second wirelesslink of the plurality of wireless links.
 8. The apparatus of claim 4,wherein the received plurality of block acknowledgements furtherindicate one or more sequence numbers of the second set of sequencenumbers for the first set of data units, or one or more sequence numbersof the third set of sequence numbers for the second set of data units,or a combination thereof.
 9. The apparatus of claim 1, wherein theinstructions are further executable by the processor to cause theapparatus to: decompress a block acknowledgement bitmap of the receivedplurality of block acknowledgements to identify the one or more of theset of common sequence numbers.
 10. The apparatus of claim 1, wherein ablock acknowledgement of the plurality of block acknowledgementscomprises a multi-traffic identifier (TID) block acknowledgement toacknowledge or not acknowledge a single TID or a single station.
 11. Theapparatus of claim 10, wherein the instructions to receive the pluralityof block acknowledgements are executable by the processor to cause theapparatus to: receive, in the multi-TID block acknowledgement, a firstportion associated with a first starting sequence number and a secondportion associated with a second starting sequence number, wherein thefirst portion and the second portion are for the single TID or thesingle station.
 12. The apparatus of claim 1, wherein the receivedplurality of block acknowledgements in aggregate span a blockacknowledgement window.
 13. The apparatus of claim 1, wherein theinstructions are further executable by the processor to cause theapparatus to: exchange block acknowledgement capability information withthe wireless device, wherein the block acknowledgement agreement isestablished based at least in part on the exchanged blockacknowledgement capability information.
 14. The apparatus of claim 13,wherein the block acknowledgement capability information comprises ablock acknowledgement window size, or a wireless link identifier, or acombination thereof.
 15. The apparatus of claim 13, wherein theinstructions are further executable by the processor to cause theapparatus to: determine a first block acknowledgement window size forthe plurality of wireless links based at least in part on the exchangedblock acknowledgement capability information; and establish a secondblock acknowledgement window size for a first wireless link of theplurality of wireless links, the second block acknowledgement windowsize less than the first block acknowledgement window size.
 16. Theapparatus of claim 1, wherein: the instructions to receive the pluralityof block acknowledgements are executable by the processor to cause theapparatus to: receive the plurality of block acknowledgements over atleast one wireless link of the one or more of the plurality of wirelesslinks; and the instructions to transmit the plurality of data units areexecutable by the processor to cause the apparatus to: transmit at leasta portion of the plurality of data units to the wireless device over asecond wireless link of the plurality of wireless links, the secondwireless link a unidirectional wireless link that is exclusive of the atleast one wireless link used to receive the plurality of blockacknowledgements.
 17. An apparatus for wireless communication,comprising: a processor; memory in electronic communication with theprocessor; and instructions stored in the memory and executable by theprocessor to cause the apparatus to: establish a block acknowledgementagreement for a plurality of wireless links used for communications inparallel between the apparatus and a wireless device; receive aplurality of data units from the wireless device over one or more of theplurality of wireless links, each data unit of the plurality of dataunits associated with one of a set of sequence numbers common to theplurality of wireless links; and transmit a plurality of blockacknowledgements in response to the plurality of data units, each of theplurality of block acknowledgements indicating one or more of the set ofcommon sequence numbers.
 18. The apparatus of claim 17, wherein theinstructions to receive the plurality of data units from the wirelessdevice over the one or more of the plurality of wireless links areexecutable by the processor to cause the apparatus to: receive a firstset of a plurality of data units from the wireless device over a firstwireless link of the plurality of wireless links, each data unit of thefirst set associated with one of the set of common sequence numbers;receive a second set of the plurality of data units from the wirelessdevice over a second wireless link of the plurality of wireless links,each data unit of the second set associated with one of the set ofcommon sequence numbers.
 19. The apparatus of claim 18, wherein each ofthe plurality of block acknowledgements further indicate: one or more ofa first set of sequence numbers for the received first set of dataunits; or one or more of a second set of sequence numbers for thereceived second set of data units.
 20. A method for wirelesscommunication at a first wireless device, comprising: establishing ablock acknowledgement agreement for a plurality of wireless links usedfor communications in parallel between the first wireless device and asecond wireless device; formatting data to be transmitted to the secondwireless device into a plurality of data units; assigning, to each ofthe plurality of data units, a respective one of a set of sequencenumbers common to the plurality of wireless links; transmitting theplurality of data units to the second wireless device over one or moreof the plurality of wireless links; and receiving a plurality of blockacknowledgements, each of the plurality of block acknowledgementsindicating one or more of the set of common sequence numbers.